diff options
-rw-r--r-- | src/synth/synth-stmts.adb | 6 | ||||
-rw-r--r-- | src/synth/synth-values.adb | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index be804c978..b55297dc1 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -416,7 +416,8 @@ package body Synth.Stmts is case Targ.Kind is when Value_Discrete => Targ.Scal := Val.Scal; - when Value_Array => + when Value_Const_Array + | Value_Array => declare Len : constant Iir_Index32 := Val.Arr.Len; begin @@ -425,7 +426,8 @@ package body Synth.Stmts is Val.Arr.V (I), Loc); end loop; end; - when Value_Record => + when Value_Const_Record + | Value_Record => for I in Targ.Rec.V'Range loop Assign_Value (Targ.Rec.V (I), Val.Rec.V (I), Loc); end loop; diff --git a/src/synth/synth-values.adb b/src/synth/synth-values.adb index 657cd457f..b36e35431 100644 --- a/src/synth/synth-values.adb +++ b/src/synth/synth-values.adb @@ -811,7 +811,7 @@ package body Synth.Values is for I in Arr.V'Range loop Arr.V (I) := Create_Value_Default (El_Typ); end loop; - return Create_Value_Array (Typ, Arr); + return Create_Value_Const_Array (Typ, Arr); end; when Type_Unbounded_Array => raise Internal_Error; @@ -823,7 +823,7 @@ package body Synth.Values is for I in Els.V'Range loop Els.V (I) := Create_Value_Default (Typ.Rec.E (I).Typ); end loop; - return Create_Value_Record (Typ, Els); + return Create_Value_Const_Record (Typ, Els); end; when Type_Access => return Create_Value_Access (Typ, Null_Heap_Index); |