https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125458

--- Comment #21 from Christopher Albert <albert at tugraz dot at> ---
(In reply to [email protected] from comment #19)
> (In reply to Christopher Albert from comment #18)
> > Created attachment 65181 [details]
> > 0001-fortran-Preserve-overflow-diagnostics-during-matchin.patch
> > 
> > Emit range-checked overflow diagnostics immediately outside unsigned mode so
> > a successful statement match cannot discard the error while retaining the
> > invalid constant. This is narrower than deferring all matching arithmetic.
> > A diagnostic test covers multiplication and addition. check-fortran and the
> > libgomp Fortran suites are clean.
> 
> This looks good in principle (and is below the 15-line limit for AI-assisted
> content), but overflow behavior of signed types should not depend
> on the setting of -funsigned.

The revised patch drops the flag_unsigned condition, so signed overflow
diagnostics no longer depend on -funsigned. A test covers signed overflow
with -frange-check -funsigned. Two unsigned arithmetic tests now use
representable signed reference expressions.

check-fortran passes with only the documented bessel_6 failures.
check-target-libgomp-fortran passes with no FAIL or XPASS.

Reply via email to