diff options
author | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2008-08-31 02:01:16 +0000 |
---|---|---|
committer | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2008-08-31 02:01:16 +0000 |
commit | cde9cc1881b9fda67d97c8f57612c284f964bd62 (patch) | |
tree | e83cbe69432785e59c09d24f850519fb9bb1fc01 /translate | |
parent | cd9300765e7e3fd43e450777e98a778146f700c2 (diff) | |
download | ghdl-cde9cc1881b9fda67d97c8f57612c284f964bd62.tar.gz ghdl-cde9cc1881b9fda67d97c8f57612c284f964bd62.tar.bz2 ghdl-cde9cc1881b9fda67d97c8f57612c284f964bd62.zip |
Bug fix: elaboration of direct drivers for unconstrained array signals
Diffstat (limited to 'translate')
-rw-r--r-- | translate/translation.adb | 6 |
1 files changed, 6 insertions, 0 deletions
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); |