aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_expr.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-sem_expr.adb')
-rw-r--r--src/vhdl/vhdl-sem_expr.adb6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb
index f8950c133..8303a58f9 100644
--- a/src/vhdl/vhdl-sem_expr.adb
+++ b/src/vhdl/vhdl-sem_expr.adb
@@ -4169,6 +4169,12 @@ package body Vhdl.Sem_Expr is
N_Type := Sem_Type_Mark (Get_Type_Mark (Expr));
Set_Type_Mark (Expr, N_Type);
N_Type := Get_Type (N_Type);
+ if N_Type = Null_Iir then
+ -- Stop now in case of error. It is highly possible that the
+ -- expression is ambiguous.
+ return Null_Iir;
+ end if;
+
Set_Type (Expr, N_Type);
if A_Type /= Null_Iir
and then Are_Types_Compatible (A_Type, N_Type) = Not_Compatible