Fix math/test-fenvinline for no-exceptions configurations [committed]
Commit Message
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. Committed.
2017-01-03 Joseph Myers <joseph@codesourcery.com>
* math/test-fenvinline.c (do_test): Disable tests of raised
exceptions if !EXCEPTION_TESTS (FLOAT).
@@ -326,8 +326,9 @@ do_test (void)
/* raise all exceptions and test if all are raised */
feraiseexcept (FE_ALL_EXCEPT);
- test_exceptions ("feraiseexcept (FE_ALL_EXCEPT) raises all exceptions",
- ALL_EXC);
+ if (EXCEPTION_TESTS (float))
+ test_exceptions ("feraiseexcept (FE_ALL_EXCEPT) raises all exceptions",
+ ALL_EXC);
/* Same test, but using double as argument */
feclearexcept ((double)FE_ALL_EXCEPT);
@@ -335,10 +336,12 @@ do_test (void)
NO_EXC);
feraiseexcept ((double)FE_ALL_EXCEPT);
- test_exceptions ("feraiseexcept ((double)FE_ALL_EXCEPT) raises all exceptions",
- ALL_EXC);
+ if (EXCEPTION_TESTS (float))
+ test_exceptions ("feraiseexcept ((double)FE_ALL_EXCEPT) raises all exceptions",
+ ALL_EXC);
- test_exceptionflag ();
+ if (EXCEPTION_TESTS (float))
+ test_exceptionflag ();
test_fesetround ();