[cairo-commit] test/cairo-test.c test/cairo-test.h test/invalid-matrix.c

Uli Schlachter psychon at kemper.freedesktop.org
Thu Oct 18 04:42:39 PDT 2012


 test/cairo-test.c     |    3 ---
 test/cairo-test.h     |   20 ++++++++++++++++++++
 test/invalid-matrix.c |    4 ----
 3 files changed, 20 insertions(+), 7 deletions(-)

New commits:
commit d5f9c694b9145f0464c8bd58d844bddedcb77d5e
Author: Uli Schlachter <psychon at znc.in>
Date:   Tue Oct 16 17:09:42 2012 +0200

    test: Define optional exception classes
    
    According to musl libc author:
    
    "C99 requires the FE_ macros to be defined if and only if the exception they
    correspond to is supported"
    
    So we define these macros to 0 if they are not supported. Support for these FPU
    exceptions is not necessary for correct functionality, but makes some tests less
    effective.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55771
    Signed-off-by: Uli Schlachter <psychon at znc.in>

diff --git a/test/cairo-test.c b/test/cairo-test.c
index 3f37147..076b014 100644
--- a/test/cairo-test.c
+++ b/test/cairo-test.c
@@ -35,9 +35,6 @@
 #include <stdlib.h>
 #include <stdarg.h>
 #include <ctype.h>
-#if HAVE_FEENABLEEXCEPT
-#include <fenv.h>
-#endif
 #include <assert.h>
 #if HAVE_UNISTD_H
 #include <unistd.h>
diff --git a/test/cairo-test.h b/test/cairo-test.h
index d41cd29..87ba7df 100644
--- a/test/cairo-test.h
+++ b/test/cairo-test.h
@@ -62,6 +62,26 @@ typedef unsigned __int64 uint64_t;
 
 #endif
 
+#if HAVE_FENV_H
+# include <fenv.h>
+#endif
+/* The following are optional in C99, so define them if they aren't yet */
+#ifndef FE_DIVBYZERO
+#define FE_DIVBYZERO 0
+#endif
+#ifndef FE_INEXACT
+#define FE_INEXACT 0
+#endif
+#ifndef FE_INVALID
+#define FE_INVALID 0
+#endif
+#ifndef FE_OVERFLOW
+#define FE_OVERFLOW 0
+#endif
+#ifndef FE_UNDERFLOW
+#define FE_UNDERFLOW 0
+#endif
+
 #include <math.h>
 
 static inline double
diff --git a/test/invalid-matrix.c b/test/invalid-matrix.c
index 6cfaedf..9bb26be 100644
--- a/test/invalid-matrix.c
+++ b/test/invalid-matrix.c
@@ -33,10 +33,6 @@
 #define INFINITY HUGE_VAL
 #endif
 
-#if HAVE_FENV_H
-# include <fenv.h>
-#endif
-
 static cairo_test_status_t
 draw (cairo_t *cr, int width, int height)
 {


More information about the cairo-commit mailing list