https://gcc.gnu.org/g:55d11e8751e070e38f981e308d84dfde23c2af3d
commit r15-558-g55d11e8751e070e38f981e308d84dfde23c2af3d Author: Piotr Trojanek <troja...@adacore.com> Date: Thu Feb 22 22:26:01 2024 +0100 ada: Improve recovery from illegal occurrence of 'Old in if_expression 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. Diff: --- 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 b4414a3f7ff9..03364dade9f6 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",