diff options
author | Tristan Gingold <tgingold@free.fr> | 2018-01-02 12:10:59 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2018-01-02 12:11:19 +0100 |
commit | 0d3facf9c5774d12925d6bef2655e28a53520598 (patch) | |
tree | 746446e9ccddbe4133da6b1fda4f00bbe184c6f3 /src/vhdl/translate/trans.ads | |
parent | de4766d9b15d458e7ef963a5157536b0f459dbe9 (diff) | |
download | ghdl-0d3facf9c5774d12925d6bef2655e28a53520598.tar.gz ghdl-0d3facf9c5774d12925d6bef2655e28a53520598.tar.bz2 ghdl-0d3facf9c5774d12925d6bef2655e28a53520598.zip |
WIP: add el size and bounds to unbounded arrays.
Diffstat (limited to 'src/vhdl/translate/trans.ads')
-rw-r--r-- | src/vhdl/translate/trans.ads | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/vhdl/translate/trans.ads b/src/vhdl/translate/trans.ads index 565ee2a87..342af4847 100644 --- a/src/vhdl/translate/trans.ads +++ b/src/vhdl/translate/trans.ads @@ -759,6 +759,11 @@ package Trans is Bounds_Type : O_Tnode; Bounds_Ptr_Type : O_Tnode; + -- Only for unbounded arrays: element size and bounds in + -- the bounds record + El_Size : O_Fnode; + El_Bounds : O_Fnode; + -- The ortho type is a fat pointer to the base and the bounds. -- These are the fields of the fat pointer. Base_Field : O_Fnode_Array; @@ -839,6 +844,8 @@ package Trans is Base_Ptr_Type => (O_Tnode_Null, O_Tnode_Null), Bounds_Type => O_Tnode_Null, Bounds_Ptr_Type => O_Tnode_Null, + El_Size => O_Fnode_Null, + El_Bounds => O_Fnode_Null, Base_Field => (O_Fnode_Null, O_Fnode_Null), Bounds_Field => (O_Fnode_Null, O_Fnode_Null)); @@ -855,6 +862,8 @@ package Trans is Base_Ptr_Type => (O_Tnode_Null, O_Tnode_Null), Bounds_Type => O_Tnode_Null, Bounds_Ptr_Type => O_Tnode_Null, + El_Size => O_Fnode_Null, + El_Bounds => O_Fnode_Null, Base_Field => (O_Fnode_Null, O_Fnode_Null), Bounds_Field => (O_Fnode_Null, O_Fnode_Null)); @@ -1218,7 +1227,8 @@ package Trans is Incomplete_Type : Iir; when Kind_Index => - -- Field declaration for array dimension. + -- For index_subtype_declaration, the field containing + -- the bounds of that index, in the array bounds record. Index_Field : O_Fnode; when Kind_Field => |