This patch fixes math/test-fenvinline.c to stop it failing in
no-exceptions configurations (where some exception macros are defined
but may not be supported at runtime). The relevant parts of the test
are disabled in that case; some parts can still run (and the rounding
mode tests are written in a way such that they work even if the
rounding modes aren't supported).
Tested for mips64 soft-float, and for x86_64 to make sure the tests
still run when the exceptions are supported.
* math/test-fenvinline.c (do_test): Disable tests of raised
exceptions if !EXCEPTION_TESTS (FLOAT).
On tile (and any other machine with no FP exceptions) the
feenable_test() function will generate a "function defined but
not used" warning because all of the callers are commented out.
We already were ifdef'ing out the body of the function, so instead
just ifdef out the entire function if FE_ALL_EXCEPT == 0.
On Alpha and IA-64, fexcept_t is unsigned long. But all the values
fit within an int, so the cast is ok for printing. All other hosts
use unsigned int or unsigned short already.
This patch fixes the inline feraiseexcept and feclearexcept macros for
powerpc by casting the input argument to integer before operation on it.
It fixes BZ#17776.