From cde9cc1881b9fda67d97c8f57612c284f964bd62 Mon Sep 17 00:00:00 2001 From: gingold Date: Sun, 31 Aug 2008 02:01:16 +0000 Subject: Bug fix: elaboration of direct drivers for unconstrained array signals --- translate/translation.adb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'translate') diff --git a/translate/translation.adb b/translate/translation.adb index fb269abd5..d1d570f06 100644 --- a/translate/translation.adb +++ b/translate/translation.adb @@ -9751,6 +9751,11 @@ package body Translation is Name_Node := Get_Var (Sig_Info.Object_Driver, Type_Info, Mode_Value); Name_Node := Stabilize (Name_Node); + -- Copy bounds from signal. + New_Assign_Stmt + (M2Lp (Chap3.Get_Array_Bounds (Name_Node)), + M2Addr (Chap3.Get_Array_Bounds (Chap6.Translate_Name (Decl)))); + -- Allocate base. Chap3.Allocate_Fat_Array_Base (Alloc_System, Name_Node, Sig_Type); elsif Type_Info.C /= null then Name_Node := Get_Var (Sig_Info.Object_Driver, @@ -20869,6 +20874,7 @@ package body Translation is Chap4.Translate_Declaration_Chain (Proc); if Flag_Direct_Drivers then + -- Create direct drivers. Drivers := Trans_Analyzes.Extract_Drivers (Proc); if Flag_Dump_Drivers then Trans_Analyzes.Dump_Drivers (Proc, Drivers); -- cgit v1.2.3