aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap3.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-07-29 07:48:31 +0200
committerTristan Gingold <tgingold@free.fr>2020-07-29 18:27:58 +0200
commitbf5cc4bbe3e7faa242b316b1d4f3940e6119e61d (patch)
treebf983ef5d88f04aa92283f1a4854abd2ac0c356f /src/vhdl/translate/trans-chap3.adb
parent7fb5d5bb3939502b871ce537a2763efb9fda6926 (diff)
downloadghdl-bf5cc4bbe3e7faa242b316b1d4f3940e6119e61d.tar.gz
ghdl-bf5cc4bbe3e7faa242b316b1d4f3940e6119e61d.tar.bz2
ghdl-bf5cc4bbe3e7faa242b316b1d4f3940e6119e61d.zip
translate: add a function to get allocation kind of layout var.
Fix #1415
Diffstat (limited to 'src/vhdl/translate/trans-chap3.adb')
-rw-r--r--src/vhdl/translate/trans-chap3.adb10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vhdl/translate/trans-chap3.adb b/src/vhdl/translate/trans-chap3.adb
index 861ba894a..8f383a099 100644
--- a/src/vhdl/translate/trans-chap3.adb
+++ b/src/vhdl/translate/trans-chap3.adb
@@ -68,6 +68,16 @@ package body Trans.Chap3 is
Info.B.Layout_Ptr_Type);
end Get_Composite_Type_Layout;
+ function Get_Composite_Type_Layout_Alloc (Info : Type_Info_Acc)
+ return Allocation_Kind is
+ begin
+ if Info.S.Subtype_Owner /= null then
+ return Get_Composite_Type_Layout_Alloc (Info.S.Subtype_Owner);
+ else
+ return Get_Alloc_Kind_For_Var (Info.S.Composite_Layout);
+ end if;
+ end Get_Composite_Type_Layout_Alloc;
+
function Layout_To_Bounds (B : Mnode) return Mnode
is
Info : constant Type_Info_Acc := Get_Type_Info (B);