aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-environment.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-environment.adb')
-rw-r--r--src/synth/synth-environment.adb11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb
index 3443a741a..0986d5f69 100644
--- a/src/synth/synth-environment.adb
+++ b/src/synth/synth-environment.adb
@@ -345,7 +345,16 @@ package body Synth.Environment is
Get_Conc_Value (Last_Asgn),
Get_Conc_Value (First_Assign));
else
- raise Internal_Error;
+ Value := Build_Concatn (Ctxt, Last_Off, Uns32 (Nbr_Assign));
+ declare
+ Inst : constant Instance := Get_Parent (Value);
+ begin
+ Asgn := First_Assign;
+ for I in reverse 0 .. Nbr_Assign - 1 loop
+ Connect (Get_Input (Inst, Port_Idx (I)), Get_Conc_Value (Asgn));
+ Asgn := Get_Conc_Chain (Asgn);
+ end loop;
+ end;
end if;
end Finalize_Complex_Assignment;