diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | conform/conformtest.pl | 2 | ||||
-rw-r--r-- | conform/data/fenv.h-data | 36 | ||||
-rw-r--r-- | include/fenv.h | 2 |
4 files changed, 44 insertions, 1 deletions
@@ -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. diff --git a/conform/conformtest.pl b/conform/conformtest.pl index d3e41be..af21941 100644 --- a/conform/conformtest.pl +++ b/conform/conformtest.pl @@ -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 index 0000000..bb33d4b --- /dev/null +++ b/conform/data/fenv.h-data @@ -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 diff --git a/include/fenv.h b/include/fenv.h index 59d4c3f..67ef385 100644 --- a/include/fenv.h +++ b/include/fenv.h @@ -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 |