Skip to content

Commit

Permalink
conformtest: Add test data for fenv.h.
Browse files Browse the repository at this point in the history
  • Loading branch information
Joseph Myers committed Nov 2, 2012
1 parent caf7f57 commit a68d068
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 1 deletion.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion conform/conformtest.pl
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"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");
}
Expand Down
36 changes: 36 additions & 0 deletions conform/data/fenv.h-data
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions include/fenv.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#ifndef _FENV_H
#include <math/fenv.h>

#ifndef _ISOMAC
/* Now define the internal interfaces. */

extern int __feclearexcept (int __excepts);
Expand All @@ -19,5 +20,6 @@ libm_hidden_proto (fesetround)
libm_hidden_proto (feholdexcept)
libm_hidden_proto (feupdateenv)
libm_hidden_proto (fetestexcept)
#endif

#endif

0 comments on commit a68d068

Please sign in to comment.