diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-04-07 08:03:45 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-04-07 08:03:45 +0200 |
commit | 87a468380c789d508acf88c252b5db674cae1b07 (patch) | |
tree | 2f88aeed69d36c148f1401d79fe02feb8ad414a5 /src | |
parent | f9cf10cae25d288588d93bdae2ef461f040d03bc (diff) | |
download | ghdl-87a468380c789d508acf88c252b5db674cae1b07.tar.gz ghdl-87a468380c789d508acf88c252b5db674cae1b07.tar.bz2 ghdl-87a468380c789d508acf88c252b5db674cae1b07.zip |
synth: fix a regression about target aggregate.
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/synth-stmts.adb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index 6a7081810..8717842d9 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -369,6 +369,18 @@ package body Synth.Stmts is Set_Location (N, Loc); return Create_Value_Net (N, Typ); end; + when Value_Memory => + declare + Res : Valtyp; + begin + Res := Create_Value_Memory (Typ); + -- Need to reverse offsets. + Copy_Memory + (Res.Val.Mem, + Val.Val.Mem + (Val.Typ.Sz - Size_Type (Off + 1) * El_Typ.Sz), + Typ.Sz); + return Res; + end; when others => raise Internal_Error; end case; |