From 76f6765bf5228e59f4ffb75878c81849003b7815 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 24 Nov 2021 07:47:26 +0100 Subject: vhdl/translate: handle target aggregate with unbounded names. Fix #1914 --- src/vhdl/translate/trans-chap8.adb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/vhdl/translate/trans-chap8.adb') diff --git a/src/vhdl/translate/trans-chap8.adb b/src/vhdl/translate/trans-chap8.adb index 4d62012f8..2b24e3737 100644 --- a/src/vhdl/translate/trans-chap8.adb +++ b/src/vhdl/translate/trans-chap8.adb @@ -4311,6 +4311,9 @@ package body Trans.Chap8 is end; else Src := Chap6.Translate_Name (Target, Mode_Signal); + if Get_Type_Info (Src).Type_Mode in Type_Mode_Unbounded then + Src := Chap3.Get_Composite_Base (Src); + end if; Chap3.Translate_Object_Copy (Aggr, Src, Target_Type); end if; end Translate_Signal_Target_Aggr; @@ -4555,11 +4558,10 @@ package body Trans.Chap8 is Mode_Value, Target_Tinfo.B.Bounds_Type, Target_Tinfo.B.Bounds_Ptr_Type); - New_Assign_Stmt - (M2Lp (Chap3.Get_Composite_Bounds (Targ)), - M2Addr (Bounds)); + New_Assign_Stmt (M2Lp (Chap3.Get_Composite_Bounds (Targ)), + M2Addr (Bounds)); -- Build bounds from aggregate. - Chap7.Translate_Aggregate_Bounds (Bounds, Target); + Chap7.Translate_Aggregate_Bounds (Bounds, Target, Mode_Signal); Chap3.Allocate_Unbounded_Composite_Base (Alloc_Stack, Targ, Target_Type); Translate_Signal_Target_Aggr -- cgit v1.2.3