aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-12-19 18:06:11 +0100
committerTristan Gingold <tgingold@free.fr>2021-12-19 18:07:07 +0100
commitc31919740777ff7f843d3f197586d15f16145a53 (patch)
treebd2c17158660bb4475c12169df0609ade78d7beb /src
parent0def1b4e3223aead923308975450d400a52de2fe (diff)
downloadghdl-c31919740777ff7f843d3f197586d15f16145a53.tar.gz
ghdl-c31919740777ff7f843d3f197586d15f16145a53.tar.bz2
ghdl-c31919740777ff7f843d3f197586d15f16145a53.zip
ghdldrv: fix crash due to double initialization
Diffstat (limited to 'src')
-rw-r--r--src/ghdldrv/ghdlsynth.adb3
-rw-r--r--src/synth/elab-vhdl_insts.adb2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/ghdldrv/ghdlsynth.adb b/src/ghdldrv/ghdlsynth.adb
index ced5b71c9..7402925a2 100644
--- a/src/ghdldrv/ghdlsynth.adb
+++ b/src/ghdldrv/ghdlsynth.adb
@@ -49,6 +49,7 @@ with Netlists.Inference;
with Elab.Vhdl_Context; use Elab.Vhdl_Context;
with Elab.Vhdl_Insts;
+with Elab.Vhdl_Objtypes;
with Synthesis;
with Synth.Disp_Vhdl;
@@ -287,6 +288,8 @@ package body Ghdlsynth is
-- association. They are handled directly.
Vhdl.Canon.Canon_Flag_Inertial_Associations := False;
+ Elab.Vhdl_Objtypes.Init;
+
if Ghdlcomp.Init_Verilog_Options /= null then
Ghdlcomp.Init_Verilog_Options.all (False);
end if;
diff --git a/src/synth/elab-vhdl_insts.adb b/src/synth/elab-vhdl_insts.adb
index b8b53517d..ac955db0e 100644
--- a/src/synth/elab-vhdl_insts.adb
+++ b/src/synth/elab-vhdl_insts.adb
@@ -727,8 +727,6 @@ package body Elab.Vhdl_Insts is
Vhdl.Annotations.Annotate (Design_Units.Table (I));
end loop;
- Elab.Vhdl_Objtypes.Init;
-
-- Start elaboration.
Make_Root_Instance;