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.
"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");
}
--- /dev/null
+#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
#ifndef _FENV_H
#include <math/fenv.h>
+#ifndef _ISOMAC
/* Now define the internal interfaces. */
extern int __feclearexcept (int __excepts);
libm_hidden_proto (feholdexcept)
libm_hidden_proto (feupdateenv)
libm_hidden_proto (fetestexcept)
+#endif
#endif