diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-07-25 05:48:04 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-07-25 05:48:04 +0200 |
commit | dbdc6a93ab37ad44537d250ec216d682c090b5f0 (patch) | |
tree | 34054ef3be6e34d5414667a164409215ee72182e /src/synth/synth-stmts.adb | |
parent | e5aa8272090bba9224b6e544113ff8b2bce0dd33 (diff) | |
download | ghdl-dbdc6a93ab37ad44537d250ec216d682c090b5f0.tar.gz ghdl-dbdc6a93ab37ad44537d250ec216d682c090b5f0.tar.bz2 ghdl-dbdc6a93ab37ad44537d250ec216d682c090b5f0.zip |
synth: save and display locations for instances.
Diffstat (limited to 'src/synth/synth-stmts.adb')
-rw-r--r-- | src/synth/synth-stmts.adb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index 315944e37..53d4f4515 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -96,7 +96,8 @@ package body Synth.Stmts is case Get_Kind (Choice) is when Iir_Kind_Choice_By_None => Pos := Pos - 1; - Synth_Assignment (Syn_Inst, Assoc, Bit_Extract (Val, Pos)); + Synth_Assignment + (Syn_Inst, Assoc, Bit_Extract (Val, Pos, Target)); when others => Error_Kind ("synth_assignment_aggregate", Choice); end case; @@ -149,6 +150,7 @@ package body Synth.Stmts is Targ_Net, Get_Net (Val, Get_Type (Target)), Index_To_Offset (Targ, Idx.Scal, Target)); + Set_Location (V, Target); else raise Internal_Error; end if; @@ -183,6 +185,7 @@ package body Synth.Stmts is Res := Build_Insert (Build_Context, Targ_Net, V, Uns32 (Off)); end if; + Set_Location (Res, Target); Synth_Assign (Targ, Create_Value_Net (Res, Res_Bnd), Get_Type (Pfx)); end; |