https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107608
--- Comment #29 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #27) > "elide an overflow" should be probably "elide an overflow or division by > zero" I think, > because finite / 0.0 returns infinity and raises FE_DIVBYZERO rather than > FE_OVERFLOW, > even when it returns infinity from finite operands. > Seems for infinity / 0.0 no exception is raised, so the finite operands > infinite result condition seems to be sufficient. Fixed. > > For GCC 13, I think it is important that we e.g. don't miscompile glibc > libm, so > the libm testsuite should be clean. PR107967 fixed some of the failures, > and some were claimed to be dups of this PR. So, would be nice to test GCC > with your patch on glibc + libm testsuite. > Just > CC=/path/to/patched-gcc-trunk/gcc CXX=/path/to/patched-gcc-trunk/g++ > ../configure --prefix=/usr > CC=/path/to/patched-gcc-trunk/gcc CXX=/path/to/patched-gcc-trunk/g++ make -jN > CC=/path/to/patched-gcc-trunk/gcc CXX=/path/to/patched-gcc-trunk/g++ make > -jN check > should be enough in latest glibc (and perhaps compare that to GCC 12). I ran tests on glibc from git sources and compared the tests.sum files left behind from a "make check -k -jN". There don't seem to be any regressions. For that matter, it looks like a handful of tests get fixed by the proposed patch: -FAIL: math/test-double-lgamma -FAIL: math/test-double-log1p -FAIL: math/test-float-lgamma -FAIL: math/test-float-log1p -FAIL: math/test-float128-catan -FAIL: math/test-float128-catanh -FAIL: math/test-float128-lgamma -FAIL: math/test-float128-log -FAIL: math/test-float128-log1p -FAIL: math/test-float128-y0 -FAIL: math/test-float128-y1 -FAIL: math/test-float32-lgamma -FAIL: math/test-float32-log1p -FAIL: math/test-float32x-lgamma -FAIL: math/test-float32x-log1p -FAIL: math/test-float64-lgamma -FAIL: math/test-float64-log1p -FAIL: math/test-float64x-lgamma -FAIL: math/test-ldouble-lgamma