diff options
author | Tristan Gingold <tgingold@free.fr> | 2021-03-14 18:18:27 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2021-03-14 18:18:27 +0100 |
commit | f16cb5d7ef37f5f66b79b1c10aedc46c2060b7cc (patch) | |
tree | 0c559474bbfa8fc846f3ea56721140cbfa046d01 /src/synth | |
parent | 6a9939f30d82aa50d9ea9d8c0fc7ee41553e817a (diff) | |
download | ghdl-f16cb5d7ef37f5f66b79b1c10aedc46c2060b7cc.tar.gz ghdl-f16cb5d7ef37f5f66b79b1c10aedc46c2060b7cc.tar.bz2 ghdl-f16cb5d7ef37f5f66b79b1c10aedc46c2060b7cc.zip |
synth-expr.adb: handle const right in synth_short_circuit. Fix #1685
Diffstat (limited to 'src/synth')
-rw-r--r-- | src/synth/synth-expr.adb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/synth/synth-expr.adb b/src/synth/synth-expr.adb index 4fb5d1136..a2ceb6e15 100644 --- a/src/synth/synth-expr.adb +++ b/src/synth/synth-expr.adb @@ -2183,6 +2183,12 @@ package body Synth.Expr is end if; Strip_Const (Right); + if Is_Static_Val (Right.Val) + and then Get_Static_Discrete (Right) = Val + then + return Create_Value_Discrete (Val, Boolean_Type); + end if; + -- Return a static value if both operands are static. -- Note: we know the value of left if it is not constant. if Is_Static_Val (Left.Val) and then Is_Static_Val (Right.Val) then |