aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-oper.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-04-09 21:24:04 +0200
committerTristan Gingold <tgingold@free.fr>2020-04-09 21:24:36 +0200
commit32a60efc00452a5eb037f5d1f5dabb687c170c99 (patch)
treef38b3337d35da9479255e5a7e97934eb1ff2731a /src/synth/synth-oper.adb
parentdb918fedf1af6da741bb6dd280719cb0f139b583 (diff)
downloadghdl-32a60efc00452a5eb037f5d1f5dabb687c170c99.tar.gz
ghdl-32a60efc00452a5eb037f5d1f5dabb687c170c99.tar.bz2
ghdl-32a60efc00452a5eb037f5d1f5dabb687c170c99.zip
synth: refactoring to store static values in wires.
Diffstat (limited to 'src/synth/synth-oper.adb')
-rw-r--r--src/synth/synth-oper.adb5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb
index d3c9ae459..4c261f054 100644
--- a/src/synth/synth-oper.adb
+++ b/src/synth/synth-oper.adb
@@ -639,19 +639,20 @@ package body Synth.Oper is
return No_Valtyp;
end if;
Left := Synth_Subtype_Conversion (Left, Left_Typ, False, Expr);
- Strip_Const (Left);
Right := Synth_Expression_With_Type (Syn_Inst, Right_Expr, Right_Typ);
if Right = No_Valtyp then
return No_Valtyp;
end if;
Right := Synth_Subtype_Conversion (Right, Right_Typ, False, Expr);
- Strip_Const (Right);
if Is_Static_Val (Left.Val) and Is_Static_Val (Right.Val) then
return Synth_Static_Dyadic_Predefined
(Syn_Inst, Imp, Left, Right, Expr);
end if;
+ Strip_Const (Left);
+ Strip_Const (Right);
+
case Def is
when Iir_Predefined_Error =>
return No_Valtyp;