aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-01-02 12:10:59 +0100
committerTristan Gingold <tgingold@free.fr>2018-01-02 12:11:19 +0100
commit0d3facf9c5774d12925d6bef2655e28a53520598 (patch)
tree746446e9ccddbe4133da6b1fda4f00bbe184c6f3 /src/vhdl/translate/trans.ads
parentde4766d9b15d458e7ef963a5157536b0f459dbe9 (diff)
downloadghdl-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.ads12
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 =>