diff options
Diffstat (limited to 'conform')
-rw-r--r-- | conform/conformtest.pl | 5 | ||||
-rw-r--r-- | conform/data/complex.h-data | 2 | ||||
-rw-r--r-- | conform/data/ctype.h-data | 18 | ||||
-rw-r--r-- | conform/data/dirent.h-data | 2 | ||||
-rw-r--r-- | conform/data/inttypes.h-data | 4 | ||||
-rw-r--r-- | conform/data/sys/select.h-data | 12 | ||||
-rw-r--r-- | conform/data/sys/uio.h-data | 2 | ||||
-rw-r--r-- | conform/data/time.h-data | 1 |
8 files changed, 26 insertions, 20 deletions
diff --git a/conform/conformtest.pl b/conform/conformtest.pl index c528127cee..d324d81c53 100644 --- a/conform/conformtest.pl +++ b/conform/conformtest.pl @@ -1048,6 +1048,7 @@ while ($#headers >= 0) { open (ALLOW, "$CC -E -D$dialect - < data/$ah-data |"); acontrol: while (<ALLOW>) { + chop; next acontrol if (/^#/); next acontrol if (/^[ ]*$/); @@ -1057,8 +1058,8 @@ while ($#headers >= 0) { push @allow, $1; } elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) { push @allow, 1; - } elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) { - my($type) = "$2$3"; + } elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) { + my($type) = "$3$4"; # Remember that this name is allowed. if ($type =~ /^struct *(.*)/) { diff --git a/conform/data/complex.h-data b/conform/data/complex.h-data index 5c5eedd181..006d6e4de7 100644 --- a/conform/data/complex.h-data +++ b/conform/data/complex.h-data @@ -1,4 +1,4 @@ -#ifdef XOPEN2K +#if defined XOPEN2K || defined POSIX2008 macro complex macro _Complex_I optional-macro imaginary diff --git a/conform/data/ctype.h-data b/conform/data/ctype.h-data index d082230f94..091d377bec 100644 --- a/conform/data/ctype.h-data +++ b/conform/data/ctype.h-data @@ -19,15 +19,9 @@ function int toascii (int) // XPG says the following two are macros. But we test a bit more strictly. function int _toupper (int) function int _tolower (int) +#endif -// The following is not entirely correct. It should be is[a-z]* but the -// replacement fnmatch implementation does not grok it. -allow is* -allow to* - -allow *_t - -# if defined XOPEN2K8 || defined XOPEN2K8 || defined POSIX2008 +# if defined XOPEN2K8 || defined POSIX2008 type locale_t function int isalnum_l (int, locale_t) @@ -44,4 +38,10 @@ function int isxdigit_l (int, locale_t) function int tolower_l (int, locale_t) function int toupper_l (int, locale_t) # endif -#endif + +// The following is not entirely correct. It should be is[a-z]* but the +// replacement fnmatch implementation does not grok it. +allow is* +allow to* + +allow *_t diff --git a/conform/data/dirent.h-data b/conform/data/dirent.h-data index 761d5786b5..f1cd59cdaf 100644 --- a/conform/data/dirent.h-data +++ b/conform/data/dirent.h-data @@ -8,7 +8,9 @@ element {struct dirent} ino_t d_ino # endif element {struct dirent} char d_name [] +# if !defined POSIX && !defined POSIX2008 type ino_t +#endif function int closedir (DIR*) function {DIR*} opendir (const char*) diff --git a/conform/data/inttypes.h-data b/conform/data/inttypes.h-data index 93e4713c95..17d2b9717a 100644 --- a/conform/data/inttypes.h-data +++ b/conform/data/inttypes.h-data @@ -17,8 +17,8 @@ function intmax_t imaxabs (intmax_t) function imaxdiv_t imaxdiv (intmax_t, intmax_t) function intmax_t strtoimax (const char*, char**, int) function uintmax_t strtoumax (const char*, char**, int) -function intmax_t wcstoimax (const wchar_t*, wchar_t**, int) -function uintmax_t wcstoumax (const wchar_t*, wchar_t**, int) +function intmax_t wcstoimax (const __gwchar_t*, __gwchar_t**, int) +function uintmax_t wcstoumax (const __gwchar_t*, __gwchar_t**, int) allow PRI* allow SCN* diff --git a/conform/data/sys/select.h-data b/conform/data/sys/select.h-data index 51f7844cb6..ea890d6ae9 100644 --- a/conform/data/sys/select.h-data +++ b/conform/data/sys/select.h-data @@ -13,16 +13,18 @@ element {struct timespec} time_t tv_sec element {struct timespec} long tv_nsec type fd_set +#if defined XPG3 || defined XPG4 || defined UNIX98 element fd_set long fds_bits [] +#endif -function-macro void FD_CLR (int, fd_set*) -function-macro int FD_ISSET (int, fd_set*) -function-macro void FD_SET (int, fd_set*) -function-macro void FD_ZERO (fd_set*) +macro FD_CLR +macro FD_ISSET +macro FD_SET +macro FD_ZERO macro FD_SETSIZE -#ifdef XOPEN2K +#if defined XOPEN2K || defined POSIX2008 function int pselect (int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*) #endif function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*) diff --git a/conform/data/sys/uio.h-data b/conform/data/sys/uio.h-data index 7833e72268..03d0a3bf3a 100644 --- a/conform/data/sys/uio.h-data +++ b/conform/data/sys/uio.h-data @@ -1,4 +1,4 @@ -#if !defined ISO && !defined POSIX && !defined POSIX2008 +#if !defined ISO && !defined POSIX type {struct iovec} element {struct iovec} {void*} iov_base diff --git a/conform/data/time.h-data b/conform/data/time.h-data index c07fe1dc3b..e2ff298ea7 100644 --- a/conform/data/time.h-data +++ b/conform/data/time.h-data @@ -97,3 +97,4 @@ allow tv_* allow CLOCK_* allow TIMER_* allow *_t +allow sigevent |