aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-context.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-context.adb')
-rw-r--r--src/synth/synth-context.adb14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/synth/synth-context.adb b/src/synth/synth-context.adb
index b87f9b06b..48a0114b3 100644
--- a/src/synth/synth-context.adb
+++ b/src/synth/synth-context.adb
@@ -388,7 +388,7 @@ package body Synth.Context is
raise Internal_Error;
end if;
when Value_Const_Array
- | Value_Record =>
+ | Value_Const_Record =>
declare
W : constant Width := Get_Type_Width (Val.Typ);
Nd : constant Digit_Index := Digit_Index ((W + 31) / 32);
@@ -424,6 +424,18 @@ package body Synth.Context is
Build (Build_Context, C, Res);
return Res;
end;
+ when Value_Record =>
+ declare
+ use Netlists.Concats;
+ C : Concat_Type;
+ Res : Net;
+ begin
+ for I in Val.Rec.V'Range loop
+ Append (C, Get_Net (Val.Rec.V (I)));
+ end loop;
+ Build (Build_Context, C, Res);
+ return Res;
+ end;
when others =>
raise Internal_Error;
end case;