aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-environment.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-04-14 08:19:36 +0200
committerTristan Gingold <tgingold@free.fr>2020-04-14 08:19:36 +0200
commita9faf72a6503f9fe9f77a2ed6f00aecd35bd6486 (patch)
tree23d7058fc6825551b3a180b73f0da5647af3a2b2 /src/synth/synth-environment.adb
parent430ca119f370a734c0e8c3d6d192f8c65361588f (diff)
downloadghdl-a9faf72a6503f9fe9f77a2ed6f00aecd35bd6486.tar.gz
ghdl-a9faf72a6503f9fe9f77a2ed6f00aecd35bd6486.tar.bz2
ghdl-a9faf72a6503f9fe9f77a2ed6f00aecd35bd6486.zip
synth: do not try to do inference on unused nets. Fix #1225
Diffstat (limited to 'src/synth/synth-environment.adb')
-rw-r--r--src/synth/synth-environment.adb6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb
index ec11d4ba2..0f5e3b607 100644
--- a/src/synth/synth-environment.adb
+++ b/src/synth/synth-environment.adb
@@ -365,8 +365,12 @@ package body Synth.Environment is
if Synth.Flags.Flag_Debug_Noinference then
Res := Pa.Value;
else
+ -- Note: lifetime is currently based on the kind of the
+ -- wire (variable -> not reused beyond this process).
+ -- This is OK for vhdl but not general.
Res := Inference.Infere
- (Ctxt, Pa.Value, Pa.Offset, Outport, Stmt);
+ (Ctxt, Pa.Value, Pa.Offset, Outport, Stmt,
+ Wire_Rec.Kind = Wire_Variable);
end if;
Add_Conc_Assign (Wid, Res, Pa.Offset, Stmt);