aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-12-05 22:22:16 +0100
committerTristan Gingold <tgingold@free.fr>2019-12-05 22:22:16 +0100
commit2d4085f81f449fbb5ae5819750549b9dbe3d8fd1 (patch)
tree83c71246bafd670ff34cac3a5b1cd75002e7cf00 /src
parent0b8470075bc3b1285abc18d78428779fc671573d (diff)
downloadghdl-2d4085f81f449fbb5ae5819750549b9dbe3d8fd1.tar.gz
ghdl-2d4085f81f449fbb5ae5819750549b9dbe3d8fd1.tar.bz2
ghdl-2d4085f81f449fbb5ae5819750549b9dbe3d8fd1.zip
ghdlsynth: fix crash on synthesis of a second design.
Diffstat (limited to 'src')
-rw-r--r--src/ghdldrv/ghdlsynth.adb4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ghdldrv/ghdlsynth.adb b/src/ghdldrv/ghdlsynth.adb
index faa92a6f1..8990f85c2 100644
--- a/src/ghdldrv/ghdlsynth.adb
+++ b/src/ghdldrv/ghdlsynth.adb
@@ -285,9 +285,13 @@ package body Ghdlsynth is
Synthesis.Synth_Design (Config, Res, Inst);
+ -- De-elaborate all packages, so that they could be re-used for
+ -- synthesis of a second design.
+ -- FIXME: move to vhdl.configure ?
for I in Design_Units.First .. Design_Units.Last loop
Set_Elab_Flag (Design_Units.Table (I), False);
end loop;
+ Set_Elab_Flag (Vhdl.Std_Package.Std_Standard_Unit, False);
Vhdl.Annotations.Finalize_Annotate;
Synth.Context.Free_Base_Instance;