From: Piotr Trojanek Date: Thu, 22 Feb 2024 21:26:01 +0000 (+0100) Subject: ada: Improve recovery from illegal occurrence of 'Old in if_expression X-Git-Tag: basepoints/gcc-16~8995 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55d11e8751e070e38f981e308d84dfde23c2af3d;p=thirdparty%2Fgcc.git 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 --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",