summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-09-04 20:47:21 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-09-04 20:47:21 +0000
commitb92a20b5603bfb7cd7cd775f3ca9099731ac63cf (patch)
treec69e17148e280664329a85a1cb2ef96cb4d6237c
parent9fc2e09ffad2c702b6768bc4560b0cc55fce0914 (diff)
downloadglibc-b92a20b5603bfb7cd7cd775f3ca9099731ac63cf.tar.gz
glibc-b92a20b5603bfb7cd7cd775f3ca9099731ac63cf.tar.xz
glibc-b92a20b5603bfb7cd7cd775f3ca9099731ac63cf.zip
conformtest: Fix namespace testing.
-rw-r--r--ChangeLog10
-rw-r--r--conform/conformtest.pl4
-rw-r--r--include/complex.h2
-rw-r--r--include/fenv.h4
4 files changed, 17 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 15602cef32..1f291278b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-09-04  Joseph Myers  <joseph@codesourcery.com>
+
+	* conform/conformtest.pl (newtoken): Treat tokens not allowed as
+	errors.
+	(top level): Treat second token from macro or constant entries for
+	allowed headers as allowed.
+	* include/complex.h: Condition internal declarations on
+	[!_ISOMAC].
+	* include/fenv.h: Condition include of <stdbool.h> and internal
+	declarations on [!_ISOMAC].
 
 2013-09-04  Chris Leonard  <cjl@sugarlabs,.org>
 
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
index ec2e9c308b..8b97d0dfc7 100644
--- a/conform/conformtest.pl
+++ b/conform/conformtest.pl
@@ -236,6 +236,8 @@ sub newtoken {
   for ($idx = 0; $idx <= $#allow; ++$idx) {
     return if (poorfnmatch ($allow[$idx], $token));
   }
+
+  $errors{$token} = 1;
 }
 
 
@@ -786,7 +788,7 @@ while ($#headers >= 0) {
       if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
 	push @allow, $7;
       } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) {
-	push @allow, $1;
+	push @allow, $2;
       } elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) {
 	my($type) = "$3$4";
 
diff --git a/include/complex.h b/include/complex.h
index e173f1f6a3..082e71fb10 100644
--- a/include/complex.h
+++ b/include/complex.h
@@ -1,11 +1,13 @@
 #ifndef _COMPLEX_H
 # include <math/complex.h>
 
+# ifndef _ISOMAC
 /* Return the complex inverse hyperbolic sine of finite nonzero Z,
    with the imaginary part of the result subtracted from pi/2 if ADJ
    is nonzero.  */
 extern complex float __kernel_casinhf (complex float z, int adj);
 extern complex double __kernel_casinh (complex double z, int adj);
 extern complex long double __kernel_casinhl (complex long double z, int adj);
+# endif
 
 #endif
diff --git a/include/fenv.h b/include/fenv.h
index 9f90d17090..925d4b50c3 100644
--- a/include/fenv.h
+++ b/include/fenv.h
@@ -1,8 +1,8 @@
 #ifndef _FENV_H
 #include <math/fenv.h>
-#include <stdbool.h>
 
 #ifndef _ISOMAC
+# include <stdbool.h>
 /* Now define the internal interfaces.  */
 
 extern int __feclearexcept (int __excepts);
@@ -22,7 +22,6 @@ libm_hidden_proto (feholdexcept)
 libm_hidden_proto (feupdateenv)
 libm_hidden_proto (fetestexcept)
 libm_hidden_proto (feclearexcept)
-#endif
 
 /* Rounding mode context.  This allows functions to set/restore rounding mode
    only when the desired rounding mode is different from the current rounding
@@ -32,5 +31,6 @@ struct rm_ctx
   fenv_t env;
   bool updated_status;
 };
+#endif
 
 #endif