diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-07-25 09:04:10 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-07-25 11:28:51 +0200 |
commit | 2f37e351d2008e7b5be7a975dc34fe3485809a62 (patch) | |
tree | 5edbcb824862ddc40ce8816705a1c6c88b262617 /src/vhdl/translate/trans-chap4.adb | |
parent | 0795210282e6ddb6190a4a16bca73aad18717cb7 (diff) | |
download | ghdl-2f37e351d2008e7b5be7a975dc34fe3485809a62.tar.gz ghdl-2f37e351d2008e7b5be7a975dc34fe3485809a62.tar.bz2 ghdl-2f37e351d2008e7b5be7a975dc34fe3485809a62.zip |
translate: improve support of unbounded records and arrays.
Diffstat (limited to 'src/vhdl/translate/trans-chap4.adb')
-rw-r--r-- | src/vhdl/translate/trans-chap4.adb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/vhdl/translate/trans-chap4.adb b/src/vhdl/translate/trans-chap4.adb index 986c5f658..488dc9021 100644 --- a/src/vhdl/translate/trans-chap4.adb +++ b/src/vhdl/translate/trans-chap4.adb @@ -1757,15 +1757,18 @@ package body Trans.Chap4 is A : Var_Type renames Alias_Info.Alias_Var (Mode); Alias_Node : Mnode; begin + -- FIXME: use subtype conversion ? case Tinfo.Type_Mode is when Type_Mode_Unbounded => Stabilize (N); Alias_Node := Stabilize (Get_Var (A, Tinfo, Mode)); - Copy_Fat_Pointer (Alias_Node, N); + Chap7.Convert_Constrained_To_Unconstrained (Alias_Node, N); when Type_Mode_Bounded_Arrays => Stabilize (N); - New_Assign_Stmt (Get_Var (A), - M2E (Chap3.Get_Composite_Base (N))); + New_Assign_Stmt + (Get_Var (A), + New_Convert_Ov (M2E (Chap3.Get_Composite_Base (N)), + Tinfo.Ortho_Ptr_Type (Mode))); Chap3.Check_Composite_Match (Decl_Type, T2M (Decl_Type, Mode), Name_Type, N, Decl); |