diff --git a/build/configure.ac.system b/build/configure.ac.system index d71d2d0ce..2ee0cc42c 100644 --- a/build/configure.ac.system +++ b/build/configure.ac.system @@ -65,7 +65,7 @@ AC_CHECK_HEADERS([sched.h], dnl check for GNU-extensions to fenv AC_CHECK_HEADER(fenv.h, - [AC_CHECK_FUNCS(feenableexcept fedisableexcept)]) + [AC_CHECK_FUNCS(feenableexcept fedisableexcept feclearexcept)]) dnl check for misc headers and functions AC_CHECK_HEADERS([libgen.h byteswap.h signal.h setjmp.h]) diff --git a/test/invalid-matrix.c b/test/invalid-matrix.c index 933e81c9a..4fbda614b 100644 --- a/test/invalid-matrix.c +++ b/test/invalid-matrix.c @@ -363,6 +363,10 @@ if ((status) == CAIRO_STATUS_SUCCESS) { \ CHECK_STATUS (status, "cairo_rotate(∞)"); cairo_destroy (cr2); +#if HAVE_FECLEAREXCEPT + feclearexcept (FE_INVALID); +#endif + return CAIRO_TEST_SUCCESS; }