diff options
Diffstat (limited to 'src/vhdl/translate/trans.ads')
-rw-r--r-- | src/vhdl/translate/trans.ads | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/vhdl/translate/trans.ads b/src/vhdl/translate/trans.ads index 9ca2b9f02..3a3d0b960 100644 --- a/src/vhdl/translate/trans.ads +++ b/src/vhdl/translate/trans.ads @@ -888,6 +888,9 @@ package Trans is subtype Type_Mode_Fat is Type_Mode_Type range Type_Mode_Record .. Type_Mode_Protected; + subtype Type_Mode_Unbounded is Type_Mode_Type range + Type_Mode_Unbounded_Record .. Type_Mode_Unbounded_Array; + -- Subprogram call argument mechanism. -- In VHDL, the evaluation is strict: actual parameters are evaluated -- before the call. This is the usual strategy of most compiled languages @@ -1160,6 +1163,10 @@ package Trans is -- Field declaration for array dimension. Index_Field : O_Fnode; + when Kind_Field => + -- Node for a record element declaration. + Field_Node : O_Fnode_Array := (O_Fnode_Null, O_Fnode_Null); + when Kind_Expr => -- Ortho tree which represents the expression, used for -- enumeration literals. @@ -1441,10 +1448,6 @@ package Trans is Config_Subprg : O_Dnode; Config_Instance : O_Dnode; - when Kind_Field => - -- Node for a record element declaration. - Field_Node : O_Fnode_Array := (O_Fnode_Null, O_Fnode_Null); - when Kind_Package => -- Subprogram which elaborate the package spec/body. -- External units should call the body elaborator. @@ -1571,6 +1574,10 @@ package Trans is function Is_Complex_Type (Tinfo : Type_Info_Acc) return Boolean; pragma Inline (Is_Complex_Type); + -- True iff TINFO is base + bounds. + function Is_Unbounded_Type (Tinfo : Type_Info_Acc) return Boolean; + pragma Inline (Is_Unbounded_Type); + type Hexstr_Type is array (Integer range 0 .. 15) of Character; N2hex : constant Hexstr_Type := "0123456789abcdef"; |