conformtest: Fix namespace testing.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 4 Sep 2013 20:47:21 +0000 (20:47 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 4 Sep 2013 20:47:21 +0000 (20:47 +0000)
ChangeLog
conform/conformtest.pl
include/complex.h
include/fenv.h

index 15602ce..1f29127 100644 (file)
--- 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>
 
index ec2e9c3..8b97d0d 100644 (file)
@@ -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";
 
index e173f1f..082e71f 100644 (file)
@@ -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
index 9f90d17..925d4b5 100644 (file)
@@ -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