aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap1.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/translate/trans-chap1.adb')
-rw-r--r--src/vhdl/translate/trans-chap1.adb12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/vhdl/translate/trans-chap1.adb b/src/vhdl/translate/trans-chap1.adb
index d3f3be69b..68f4acd57 100644
--- a/src/vhdl/translate/trans-chap1.adb
+++ b/src/vhdl/translate/trans-chap1.adb
@@ -77,6 +77,7 @@ package body Trans.Chap1 is
El : Iir;
El_Type : Iir;
Default : Iir;
+ Value : Iir;
begin
Push_Local_Factory;
@@ -93,6 +94,17 @@ package body Trans.Chap1 is
end if;
Chap4.Elab_Signal_Declaration_Storage (El, False);
Chap4.Elab_Signal_Declaration_Object (El, Entity, False);
+
+ Value := Get_Default_Value (El);
+ if Is_Valid (Value) then
+ -- Set default value.
+ Chap9.Destroy_Types (Value);
+ Chap4.Elab_Object_Init
+ (Get_Var (Get_Info (El).Signal_Val,
+ Get_Info (Get_Type (El)), Mode_Value),
+ El, Value, Alloc_System);
+ end if;
+
Close_Temp;
El := Get_Chain (El);