aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-04-07 08:03:45 +0200
committerTristan Gingold <tgingold@free.fr>2020-04-07 08:03:45 +0200
commit87a468380c789d508acf88c252b5db674cae1b07 (patch)
tree2f88aeed69d36c148f1401d79fe02feb8ad414a5 /src
parentf9cf10cae25d288588d93bdae2ef461f040d03bc (diff)
downloadghdl-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.adb12
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;