aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap4.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-07-25 09:04:10 +0200
committerTristan Gingold <tgingold@free.fr>2020-07-25 11:28:51 +0200
commit2f37e351d2008e7b5be7a975dc34fe3485809a62 (patch)
tree5edbcb824862ddc40ce8816705a1c6c88b262617 /src/vhdl/translate/trans-chap4.adb
parent0795210282e6ddb6190a4a16bca73aad18717cb7 (diff)
downloadghdl-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.adb9
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);