From: Piotr Trojanek <troja...@adacore.com> Fix assertion failure in developer builds which happened when the THEN expression contains an illegal occurrence of 'Old and the type of the THEN expression is left as Any_Type, but there is no ELSE expression.
gcc/ada/ * sem_ch4.adb (Analyze_If_Expression): Add guard for if_expression without an ELSE part. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_ch4.adb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index b4414a3f7ff..03364dade9f 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -2645,7 +2645,7 @@ package body Sem_Ch4 is ("\ELSE expression has}!", Else_Expr, Etype (Else_Expr)); end if; - else + elsif Present (Else_Expr) then if Is_Overloaded (Else_Expr) then Error_Msg_N ("no interpretation compatible with type of THEN expression", -- 2.43.2