From aace405b4205dbcd4a9a01c2282040ce0858eeeb Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Thu, 23 Oct 2025 12:11:35 +0200 Subject: [PATCH] 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. --- gcc/ada/exp_util.adb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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; -- 2.47.3