diff options
author | Tristan Gingold <tgingold@free.fr> | 2023-02-01 21:12:30 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2023-02-02 07:38:17 +0100 |
commit | 983e68ed194f034696a02cea34f55a93ec543018 (patch) | |
tree | 3936e94149d1faa264f33a24cc51af80c7d253e2 /src/vhdl | |
parent | c2b9ba90b7305e0ad1861ce563eacec8f2485a27 (diff) | |
download | ghdl-983e68ed194f034696a02cea34f55a93ec543018.tar.gz ghdl-983e68ed194f034696a02cea34f55a93ec543018.tar.bz2 ghdl-983e68ed194f034696a02cea34f55a93ec543018.zip |
vhdl: avoid error storms in assertions
Diffstat (limited to 'src/vhdl')
-rw-r--r-- | src/vhdl/vhdl-sem_expr.adb | 2 | ||||
-rw-r--r-- | src/vhdl/vhdl-sem_psl.adb | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb index 94d0908f4..332a11dfc 100644 --- a/src/vhdl/vhdl-sem_expr.adb +++ b/src/vhdl/vhdl-sem_expr.adb @@ -6071,7 +6071,7 @@ package body Vhdl.Sem_Expr is Cond_Type : Iir; begin Cond_Type := Get_Type (Cond); - if Cond_Type = Null_Iir then + if Cond_Type = Null_Iir or else Is_Error (Cond_Type) then -- Error. return Cond; end if; diff --git a/src/vhdl/vhdl-sem_psl.adb b/src/vhdl/vhdl-sem_psl.adb index f498f0115..06cac1072 100644 --- a/src/vhdl/vhdl-sem_psl.adb +++ b/src/vhdl/vhdl-sem_psl.adb @@ -361,7 +361,9 @@ package body Vhdl.Sem_Psl is if not Is_Overload_List (Expr_Type) and then not Is_Psl_Boolean_Type (Expr_Type) then - Error_Msg_Sem (+Expr, "type of expression must be boolean"); + if Get_Kind (Expr_Type) /= Iir_Kind_Error then + Error_Msg_Sem (+Expr, "type of expression must be boolean"); + end if; return PSL.Hash.Get_PSL_Node (HDL_Node (Expr), Get_Location (Expr)); else return Convert_Bool (Expr); |