From: Piotr Trojanek Date: Thu, 23 Oct 2025 10:11:35 +0000 (+0200) Subject: ada: Relax assertion in compile-time evaluator X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aace405b4205dbcd4a9a01c2282040ce0858eeeb;p=thirdparty%2Fgcc.git ada: Relax assertion in compile-time evaluator A statically dead ELSIF branch can be rewritten either to a NULL statement or entirely detached from its parent. gcc/ada/ChangeLog: * exp_util.adb (Get_Current_Value_Condition): Relax assertion about rewritten ELSIF branch. --- diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb index e2d2554d3a1..15e956469d4 100644 --- a/gcc/ada/exp_util.adb +++ b/gcc/ada/exp_util.adb @@ -7641,13 +7641,11 @@ package body Exp_Util is begin -- An ELSIF part whose condition is false could have been - -- already rewritten into NULL statement and we are already - -- past the statements inside that ELSIF part. + -- already rewritten and we are already past the statements + -- inside that ELSIF part. if Nkind (If_Stmt) /= N_If_Statement then - pragma Assert - (Nkind (CV) = N_Elsif_Part - and then Is_Rewrite_Substitution (If_Stmt)); + pragma Assert (Nkind (CV) = N_Elsif_Part); return; end if;