aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-stmts.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-11-13 18:56:20 +0100
committerTristan Gingold <tgingold@free.fr>2019-11-13 18:56:20 +0100
commitdb631c6a1110ce29fcb3e97e116b320578322662 (patch)
tree06bc1b1c7bd66c22534890cbe64e70e14fb09a2c /src/synth/synth-stmts.adb
parent8be466828c944a470b0324e7ba9bc1fdbbe9ab2b (diff)
downloadghdl-db631c6a1110ce29fcb3e97e116b320578322662.tar.gz
ghdl-db631c6a1110ce29fcb3e97e116b320578322662.tar.bz2
ghdl-db631c6a1110ce29fcb3e97e116b320578322662.zip
synth: do not consider impure procedure as static.
Diffstat (limited to 'src/synth/synth-stmts.adb')
-rw-r--r--src/synth/synth-stmts.adb6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb
index a0fd6d713..5cf3e0e67 100644
--- a/src/synth/synth-stmts.adb
+++ b/src/synth/synth-stmts.adb
@@ -1500,6 +1500,12 @@ package body Synth.Stmts is
Synth_Subprogram_Association
(C.Inst, Syn_Inst, Inter_Chain, Assoc_Chain, Infos);
+ if not Is_Func then
+ if Get_Purity_State (Imp) /= Pure then
+ Set_Instance_Const (C.Inst, False);
+ end if;
+ end if;
+
Push_Phi;
if Is_Func then