aboutsummaryrefslogtreecommitdiffstats
path: root/disp_tree.adb
diff options
context:
space:
mode:
Diffstat (limited to 'disp_tree.adb')
-rw-r--r--disp_tree.adb44
1 files changed, 21 insertions, 23 deletions
diff --git a/disp_tree.adb b/disp_tree.adb
index 7e72a125c..6ad16d7af 100644
--- a/disp_tree.adb
+++ b/disp_tree.adb
@@ -276,6 +276,9 @@ package body Disp_Tree is
when Iir_Kind_Element_Declaration =>
Put ("element_declaration");
Disp_Identifier (Tree);
+ when Iir_Kind_Record_Element_Constraint =>
+ Put ("record_element_constraint");
+ Disp_Identifier (Tree);
when Iir_Kind_Attribute_Declaration =>
Put ("attribute_declaration");
Disp_Identifier (Tree);
@@ -994,6 +997,11 @@ package body Disp_Tree is
when Iir_Kind_Element_Declaration =>
Header ("type:");
Disp_Tree (Get_Type (Tree), Ntab, True);
+ when Iir_Kind_Record_Element_Constraint =>
+ Header ("type:");
+ Disp_Tree (Get_Type (Tree), Ntab, True);
+ Header ("element_declaration:");
+ Disp_Tree (Get_Element_Declaration (Tree), Ntab);
when Iir_Kind_Attribute_Declaration =>
if Flat_Decl then
return;
@@ -1163,7 +1171,7 @@ package body Disp_Tree is
Fl : Boolean;
begin
if Base /= Null_Iir
- and then Kind = Iir_Kind_Array_Type_Definition
+ and then Get_Kind (Base) = Iir_Kind_Array_Type_Definition
then
Fl := Get_Type_Declarator (Base)
/= Get_Type_Declarator (Tree);
@@ -1177,29 +1185,13 @@ package body Disp_Tree is
Header ("index_subtype_list:");
Disp_Tree_List (Get_Index_Subtype_List (Tree), Ntab, True);
Header ("element_subtype:");
- Disp_Tree_Flat (Get_Element_Subtype (Tree), Ntab);
- Header ("resolution function:");
- Disp_Tree_Flat (Get_Resolution_Function (Tree), Ntab);
- when Iir_Kind_Unconstrained_Array_Subtype_Definition =>
- if Flat_Decl and then Get_Type_Declarator (Tree) /= Null_Iir then
- return;
- end if;
- Header ("type declarator:");
- Disp_Tree_Flat (Get_Type_Declarator (Tree), Ntab);
- Header ("resolved flag: ", False);
- Disp_Type_Resolved_Flag (Tree);
- Header ("signal_type_flag: ", False);
- Disp_Flag (Get_Signal_Type_Flag (Tree));
- Header ("has_signal_flag: ", False);
- Disp_Flag (Get_Has_Signal_Flag (Tree));
- Header ("base type:");
- Disp_Tree (Get_Base_Type (Tree), Ntab, True);
- Header ("type mark:");
- Disp_Tree (Get_Type_Mark (Tree), Ntab, True);
+ Disp_Tree (Get_Element_Subtype (Tree), Ntab, True);
Header ("resolution function:");
Disp_Tree_Flat (Get_Resolution_Function (Tree), Ntab);
- Header ("index_subtype_list:");
- Disp_Tree_List (Get_Index_Subtype_List (Tree), Ntab, True);
+ Header ("index_constraint: ", False);
+ Disp_Flag (Get_Index_Constraint_Flag (Tree));
+ Header ("constraint_state: "
+ & Iir_Constraint'Image (Get_Constraint_State (Tree)));
when Iir_Kind_Array_Type_Definition =>
if Flat_Decl and then Get_Type_Declarator (Tree) /= Null_Iir then
return;
@@ -1228,8 +1220,10 @@ package body Disp_Tree is
Disp_Flag (Get_Signal_Type_Flag (Tree));
Header ("has_signal_flag: ", False);
Disp_Flag (Get_Has_Signal_Flag (Tree));
+ Header ("constraint_state: "
+ & Iir_Constraint'Image (Get_Constraint_State (Tree)));
Header ("elements:");
- Disp_Tree_Chain (Get_Element_Declaration_Chain (Tree), Ntab, True);
+ Disp_Tree_List (Get_Elements_Declaration_List (Tree), Ntab, True);
when Iir_Kind_Record_Subtype_Definition =>
if Flat_Decl and then not Is_Anonymous_Type_Definition (Tree) then
return;
@@ -1246,6 +1240,10 @@ package body Disp_Tree is
Disp_Tree (Get_Type_Mark (Tree), Ntab, True);
Header ("resolution function:");
Disp_Tree_Flat (Get_Resolution_Function (Tree), Ntab);
+ Header ("constraint_state: "
+ & Iir_Constraint'Image (Get_Constraint_State (Tree)));
+ Header ("elements:");
+ Disp_Tree_List (Get_Elements_Declaration_List (Tree), Ntab, True);
when Iir_Kind_Physical_Type_Definition =>
if Flat_Decl and then Get_Type_Declarator (Tree) /= Null_Iir then
return;