conformtest: Add test data for fenv.h.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 2 Nov 2012 23:21:36 +0000 (23:21 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 2 Nov 2012 23:21:36 +0000 (23:21 +0000)
ChangeLog
conform/conformtest.pl
conform/data/fenv.h-data [new file with mode: 0644]
include/fenv.h

index c13fe18..be5ab22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2012-11-02  Joseph Myers  <joseph@codesourcery.com>
 
+       * conform/conformtest.pl (@headers): Add fenv.h.
+       * conform/data/fenv.h-data: New file.
+       * include/fenv.h [_ISOMAC]: Disable all contents of file except
+       include of <math/fenv.h>.
+
        * conform/data/complex.h-data [ISO99 || ISO11 || XOPEN2K ||
        POSIX2008]: Change condition to [!ISO && !POSIX && !XPG3 && !XPG4
        && !UNIX98].  Enables tests for XOPEN2K8.
index d3e41be..af21941 100644 (file)
@@ -27,7 +27,7 @@ if (@headers == ()) {
              "netdb.h", "ndbm.h", "mqueue.h", "monetary.h", "math.h",
              "locale.h", "libgen.h", "limits.h", "langinfo.h", "iso646.h",
              "inttypes.h", "iconv.h", "grp.h", "glob.h", "ftw.h", "fnmatch.h",
-             "fmtmsg.h", "float.h", "fcntl.h", "errno.h", "dlfcn.h",
+             "fmtmsg.h", "float.h", "fenv.h", "fcntl.h", "errno.h", "dlfcn.h",
              "dirent.h", "ctype.h", "cpio.h", "complex.h", "assert.h",
              "arpa/inet.h", "aio.h");
 }
diff --git a/conform/data/fenv.h-data b/conform/data/fenv.h-data
new file mode 100644 (file)
index 0000000..bb33d4b
--- /dev/null
@@ -0,0 +1,36 @@
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+type fenv_t
+type fexcept_t
+
+optional-macro-int-constant FE_DIVBYZERO
+optional-macro-int-constant FE_INEXACT
+optional-macro-int-constant FE_INVALID
+optional-macro-int-constant FE_OVERFLOW
+optional-macro-int-constant FE_UNDERFLOW
+macro-int-constant FE_ALL_EXCEPT
+
+optional-macro-int-constant FE_DOWNWARD
+optional-macro-int-constant FE_TONEAREST
+optional-macro-int-constant FE_TOWARDZERO
+optional-macro-int-constant FE_UPWARD
+
+allow FE_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
+
+macro FE_DFL_ENV {const fenv_t *}
+
+function int feclearexcept (int)
+function int fegetexceptflag (fexcept_t*, int)
+function int feraiseexcept (int)
+function int fesetexceptflag (const fexcept_t*, int)
+function int fetestexcept (int)
+function int fegetround (void)
+function int fesetround (int)
+function int fegetenv (fenv_t*)
+function int feholdexcept (fenv_t*)
+function int fesetenv (const fenv_t*)
+function int feupdateenv (const fenv_t *)
+
+#if !defined ISO && !defined ISO99 && !defined ISO11
+allow *_t
+#endif
+#endif
index 59d4c3f..67ef385 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _FENV_H
 #include <math/fenv.h>
 
+#ifndef _ISOMAC
 /* Now define the internal interfaces.  */
 
 extern int __feclearexcept (int __excepts);
@@ -19,5 +20,6 @@ libm_hidden_proto (fesetround)
 libm_hidden_proto (feholdexcept)
 libm_hidden_proto (feupdateenv)
 libm_hidden_proto (fetestexcept)
+#endif
 
 #endif