aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-06-07 06:03:29 +0200
committerTristan Gingold <tgingold@free.fr>2021-06-07 06:03:29 +0200
commitb61499b3f0264f106b8aaf0992d98e36695d2471 (patch)
treed05df5b7760651fbbcd1867f1e6bdf129cbb8b64 /src/vhdl/translate
parentc9bab05d5af5da3e42af6f08b0a8000391ce0766 (diff)
downloadghdl-b61499b3f0264f106b8aaf0992d98e36695d2471.tar.gz
ghdl-b61499b3f0264f106b8aaf0992d98e36695d2471.tar.bz2
ghdl-b61499b3f0264f106b8aaf0992d98e36695d2471.zip
trans-chap3: add comments
Diffstat (limited to 'src/vhdl/translate')
-rw-r--r--src/vhdl/translate/trans-chap3.adb12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap3.adb b/src/vhdl/translate/trans-chap3.adb
index f1928ae2e..12916d12b 100644
--- a/src/vhdl/translate/trans-chap3.adb
+++ b/src/vhdl/translate/trans-chap3.adb
@@ -502,6 +502,9 @@ package body Trans.Chap3 is
end if;
end Type_To_Last_Object_Kind;
+ -- A fat pointer is a struct with 2 fields:
+ -- * pointer to the object base
+ -- * pointer to the bounds (for arrays) or to the layout (for records)
procedure Create_Unbounded_Type_Fat_Pointer (Info : Type_Info_Acc)
is
Constr : O_Element_List;
@@ -909,7 +912,10 @@ package body Trans.Chap3 is
-- Array --
-------------
- -- Declare the bounds types for DEF.
+ -- Declare the bounds types for array type definition DEF.
+ -- Bounds type is a record with:
+ -- * a range field for each dimension
+ -- * an element layout if the element is unbounded.
procedure Translate_Array_Type_Bounds
(Def : Iir_Array_Type_Definition; Info : Type_Info_Acc)
is
@@ -963,7 +969,9 @@ package body Trans.Chap3 is
Finish_Unbounded_Type_Bounds (Info);
end Translate_Array_Type_Bounds;
- -- Create the layout type.
+ -- Create the layout type. It is a record with:
+ -- * the size field for the size of objects and signals
+ -- * the bounds
procedure Create_Array_Type_Layout_Type (Info : Type_Info_Acc)
is
Constr : O_Element_List;