about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-11-02 23:21:36 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-11-02 23:21:36 +0000
commita68d0680f89b5f3639b30ec7955671d97e101e87 (patch)
treeb1500bba2e18333a08f60932ae190d2d8759c762
parentcaf7f573e9061e5b11d20723b0b2313ed4698dfc (diff)
downloadglibc-a68d0680f89b5f3639b30ec7955671d97e101e87.tar.gz
glibc-a68d0680f89b5f3639b30ec7955671d97e101e87.tar.xz
glibc-a68d0680f89b5f3639b30ec7955671d97e101e87.zip
conformtest: Add test data for fenv.h.
-rw-r--r--ChangeLog5
-rw-r--r--conform/conformtest.pl2
-rw-r--r--conform/data/fenv.h-data36
-rw-r--r--include/fenv.h2
4 files changed, 44 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c13fe181f1..be5ab22729 100644
--- 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.
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
index d3e41be4cb..af21941596 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 0000000000..bb33d4b06e
--- /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 59d4c3f63c..67ef385bbf 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