https://gcc.gnu.org/g:1b72968e2a73de19c126450d508e81ff94c90459
commit r17-1206-g1b72968e2a73de19c126450d508e81ff94c90459 Author: Viljar Indus <[email protected]> Date: Thu Apr 16 14:02:30 2026 +0300 ada: Remove unnecessary workaround Technically this is no longer necessary as everything will be removed along with the ignored ghost code removal. gcc/ada/ChangeLog: * sem_prag.adb (Analyze_Pragma): Remove overflow supression workaround. Diff: --- gcc/ada/sem_prag.adb | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index a22ae61cd55b..81de61ae9eb2 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -15698,33 +15698,7 @@ package body Sem_Prag is -- Now go ahead and analyze the if statement In_Assertion_Expr := In_Assertion_Expr + 1; - - -- One rather special treatment. If we are now in Eliminated - -- overflow mode, then suppress overflow checking since we do - -- not want to drag in the bignum stuff if we are in Ignore - -- mode anyway. This is particularly important if we are using - -- a configurable run time that does not support bignum ops. - - if Scope_Suppress.Overflow_Mode_Assertions = Eliminated then - declare - Svo : constant Boolean := - Scope_Suppress.Suppress (Overflow_Check); - begin - Scope_Suppress.Overflow_Mode_Assertions := Strict; - Scope_Suppress.Suppress (Overflow_Check) := True; - Analyze (N); - Scope_Suppress.Suppress (Overflow_Check) := Svo; - Scope_Suppress.Overflow_Mode_Assertions := Eliminated; - end; - - -- Not that special case - - else - Analyze (N); - end if; - - -- All done with this check - + Analyze (N); In_Assertion_Expr := In_Assertion_Expr - 1; -- Check is active or expansion not active. In these cases we can
