about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog108
-rw-r--r--conform/conformtest.pl2
-rw-r--r--conform/data/semaphore.h-data4
-rw-r--r--conform/data/signal.h-data48
-rw-r--r--conform/data/tar.h-data48
5 files changed, 172 insertions, 38 deletions
diff --git a/ChangeLog b/ChangeLog
index 89e8d03509..d0cb93451a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,111 @@
+2014-03-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* conform/conformtest.pl: Allow ' and \ in values given for
+	constants.
+	* conform/data/semaphore.h-data [POSIX] (fcntl.h): Allow header
+	inclusion.
+	[POSIX] (sys/types.h): Likewise.
+	[POSIX2008 || XOPEN2K8] (sys/types.h): Don't allow header
+	inclusion.
+	[POSIX || UNIX98 || XOPEN2K] (time.h): Don't allow header
+	inclusion.
+	* conform/data/signal.h-data (SIGIO): Remove expectation.
+	[XPG3] (SIGBUS): Do not expect.
+	[POSIX || XPG3] (SIGPOLL): Likewise.
+	[POSIX || XPG3] (SIGPROF): Likewise.
+	[POSIX || XPG3] (SIGSYS): Likewise.
+	[XPG3] (SIGTRAP): Likewise.
+	[POSIX || XPG3] (SIGURG): Likewise.
+	[POSIX || XPG3] (SIGVTALRM): Likewise.
+	[POSIX || XPG3] (SIGXCPU): Likewise.
+	[POSIX || XPG3] (SIGXFSZ): Likewise.
+	[POSIX] (SA_SIGINFO): Expect.
+	[XPG3] (siginfo_t): Do not expect type or contents.
+	[POSIX] (si_pid): Do not expect element.
+	[POSIX] (si_uid): Likewise.
+	[POSIX] (si_addr): Likewise.
+	[POSIX] (si_status): Likewise.
+	[POSIX] (si_band): Likewise.
+	[XPG4] (si_value): Likewise.
+	[POSIX || XPG3] (ILL_ILLOPC): Do not expect.
+	[POSIX || XPG3] (ILL_ILLOPN): Likewise.
+	[POSIX || XPG3] (ILL_ILLADR): Likewise.
+	[POSIX || XPG3] (ILL_ILLTRP): Likewise.
+	[POSIX || XPG3] (ILL_PRVOPC): Likewise.
+	[POSIX || XPG3] (ILL_PRVREG): Likewise.
+	[POSIX || XPG3] (ILL_COPROC): Likewise.
+	[POSIX || XPG3] (ILL_BADSTK): Likewise.
+	[POSIX || XPG3] (FPE_INTDIV): Likewise.
+	[POSIX || XPG3] (FPE_INTOVF): Likewise.
+	[POSIX || XPG3] (FPE_FLTDIV): Likewise.
+	[POSIX || XPG3] (FPE_FLTOVF): Likewise.
+	[POSIX || XPG3] (FPE_FLTUND): Likewise.
+	[POSIX || XPG3] (FPE_FLTRES): Likewise.
+	[POSIX || XPG3] (FPE_FLTINV): Likewise.
+	[POSIX || XPG3] (FPE_FLTSUB): Likewise.
+	[POSIX || XPG3] (SEGV_MAPERR): Likewise.
+	[POSIX || XPG3] (SEGV_ACCERR): Likewise.
+	[POSIX || XPG3] (BUS_ADRALN): Likewise.
+	[POSIX || XPG3] (BUS_ADRERR): Likewise.
+	[POSIX || XPG3] (BUS_OBJERR): Likewise.
+	[POSIX || XPG3] (CLD_EXITED): Likewise.
+	[POSIX || XPG3] (CLD_KILLED): Likewise.
+	[POSIX || XPG3] (CLD_DUMPED): Likewise.
+	[POSIX || XPG3] (CLD_TRAPPED): Likewise.
+	[POSIX || XPG3] (CLD_STOPPED): Likewise.
+	[POSIX || XPG3] (CLD_CONTINUED): Likewise.
+	[POSIX || XPG3] (POLL_IN): Likewise.
+	[POSIX || XPG3] (POLL_OUT): Likewise.
+	[POSIX || XPG3] (POLL_MSG): Likewise.
+	[POSIX || XPG3] (POLL_ERR): Likewise.
+	[POSIX || XPG3] (POLL_PRI): Likewise.
+	[POSIX || XPG3] (POLL_HUP): Likewise.
+	[POSIX || XPG3 || POSIX2008] (TRAP_BRKPT): Likewise.
+	[POSIX || XPG3 || POSIX2008] (TRAP_TRACE): Likewise.
+	(SIG*): Do not allow.
+	[XPG3] (si_*): Likewise.
+	[XPG3] (SI_*): Likewise.
+	[XPG3 || XPG4] (sigev_*): Likewise.
+	[XPG3 || XPG4] (SIGEV_*): Likewise.
+	[XPG3 || XPG4] (sival_*): Likewise.
+	[POSIX || XPG3 || XPG4] (uc_*): Likewise.
+	[POSIX || XPG3] (BUS_*): Likewise.
+	[POSIX || XPG3] (CLD_*): Likewise.
+	[POSIX || XPG3] (FPE_*): Likewise.
+	[POSIX || XPG3] (ILL_*): Likewise.
+	[POSIX || XPG3] (POLL_*): Likewise.
+	[POSIX || XPG3] (SEGV_*): Likewise.
+	[POSIX || XPG3 || POSIX2008] (SS_*): Likewise.
+	[POSIX || XPG3 || POSIX2008] (SV_*): Likewise.
+	[POSIX || XPG3 || POSIX2008] (TRAP_*): Likewise.
+	[POSIX || XPG3 || POSIX2008] (ss_*): Likewise.
+	[POSIX || XPG3 || POSIX2008] (sv_*): Likewise.
+	* conform/data/tar.h-data (TMAGLEN): Use macro-int-constant.
+	Specify type and value.
+	(TVERSLEN): Likewise.
+	(REGTYPE): Likewise.
+	(AREGTYPE): Likewise.
+	(LNKTYPE): Likewise.
+	(SYMTYPE): Likewise.
+	(CHRTYPE): Likewise.
+	(BLKTYPE): Likewise.
+	(DIRTYPE): Likewise.
+	(FIFOTYPE): Likewise.
+	(CONTTYPE): Likewise.
+	(TSUID): Likewise.
+	(TSGID): Likewise.
+	(TSVTX): Likewise.
+	(TUREAD): Likewise.
+	(TUWRITE): Likewise.
+	(TUEXEC): Likewise.
+	(TGREAD): Likewise.
+	(TGWRITE): Likewise.
+	(TGEXEC): Likewise.
+	(TOREAD): Likewise.
+	(TOWRITE): Likewise.
+	(TOEXEC): Likewise.
+	[POSIX] (TSVTX): Expect constant.
+
 2014-03-06  Joseph Myers  <joseph@codesourcery.com>
 
 	* Makefile (tests): Change dependencies to ....
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
index 8b97d0dfc7..085fbb8c6d 100644
--- a/conform/conformtest.pl
+++ b/conform/conformtest.pl
@@ -391,7 +391,7 @@ while ($#headers >= 0) {
 		     "Member \"$member\" does not have the correct type.",
 		     $res, 0);
       }
-    } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) {
+    } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_\\'-]*))?/) {
       my($symbol_type) = $1;
       my($symbol) = $2;
       my($type) = $3;
diff --git a/conform/data/semaphore.h-data b/conform/data/semaphore.h-data
index 41595135dc..8c3497baa6 100644
--- a/conform/data/semaphore.h-data
+++ b/conform/data/semaphore.h-data
@@ -16,11 +16,13 @@ function int sem_trywait (sem_t*)
 function int sem_unlink (const char*)
 function int sem_wait (sem_t*)
 
-# ifndef POSIX
 allow-header fcntl.h
+# if !defined POSIX2008 && !defined XOPEN2K8
 allow-header sys/types.h
 # endif
+# if !defined POSIX && !defined UNIX98 && !defined XOPEN2K
 allow-header time.h
+# endif
 
 allow sem_*
 allow SEM_*
diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data
index bb3784ad7b..7584865f12 100644
--- a/conform/data/signal.h-data
+++ b/conform/data/signal.h-data
@@ -69,7 +69,6 @@ function int raise (int)
 #if !defined ISO && !defined ISO99 && !defined ISO11
 macro-int-constant SIGALRM {int} > 0
 macro-int-constant SIGHUP {int} > 0
-macro-int-constant SIGIO {int} > 0
 macro-int-constant SIGKILL {int} > 0
 macro-int-constant SIGPIPE {int} > 0
 macro-int-constant SIGQUIT {int} > 0
@@ -81,17 +80,23 @@ macro-int-constant SIGSTOP {int} > 0
 macro-int-constant SIGTSTP {int} > 0
 macro-int-constant SIGTTIN {int} > 0
 macro-int-constant SIGTTOU {int} > 0
+# ifndef XPG3
 macro-int-constant SIGBUS {int} > 0
+# endif
+# if !defined POSIX && !defined XPG3
 macro-int-constant SIGPOLL {int} > 0
 macro-int-constant SIGPROF {int} > 0
 macro-int-constant SIGSYS {int} > 0
-# if !defined POSIX && !defined POSIX2008
+# endif
+# if !defined POSIX && !defined XPG3 && !defined POSIX2008
 macro-int-constant SIGTRAP {int} > 0
 # endif
+# if !defined POSIX && !defined XPG3
 macro-int-constant SIGURG {int} > 0
 macro-int-constant SIGVTALRM {int} > 0
 macro-int-constant SIGXCPU {int} > 0
 macro-int-constant SIGXFSZ {int} > 0
+# endif
 
 type {struct sigaction}
 
@@ -101,6 +106,7 @@ element {struct sigaction} int sa_flags
 element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*)
 
 constant SA_NOCLDSTOP
+constant SA_SIGINFO
 constant SIG_BLOCK
 constant SIG_UNBLOCK
 constant SIG_SETMASK
@@ -110,7 +116,6 @@ constant SA_ONSTACK
 # if !defined POSIX
 constant SA_RESETHAND
 constant SA_RESTART
-constant SA_SIGINFO
 constant SA_NOCLDWAIT
 constant SA_NODEFER
 # endif
@@ -141,20 +146,27 @@ element {struct sigstack} int ss_onstack
 element {struct sigstack} {void*} ss_sp
 # endif
 
+# ifndef XPG3
 type siginfo_t
 
 element siginfo_t int si_signo
-# if !defined POSIX && !defined POSIX2008
+#  if !defined POSIX && !defined POSIX2008
 element siginfo_t int si_errno
-# endif
+#  endif
 element siginfo_t int si_code
+#  ifndef POSIX
 element siginfo_t pid_t si_pid
 element siginfo_t uid_t si_uid
 element siginfo_t {void*} si_addr
 element siginfo_t int si_status
 element siginfo_t long si_band
+#  endif
+#  ifndef XPG4
 element siginfo_t {union sigval} si_value
+#  endif
+# endif
 
+# if !defined POSIX && !defined XPG3
 constant ILL_ILLOPC
 constant ILL_ILLOPN
 constant ILL_ILLADR
@@ -176,8 +188,6 @@ constant SEGV_ACCERR
 constant BUS_ADRALN
 constant BUS_ADRERR
 constant BUS_OBJERR
-constant TRAP_BRKPT
-constant TRAP_TRACE
 constant CLD_EXITED
 constant CLD_KILLED
 constant CLD_DUMPED
@@ -190,6 +200,11 @@ constant POLL_MSG
 constant POLL_ERR
 constant POLL_PRI
 constant POLL_HUP
+# endif
+# if !defined POSIX && !defined XPG3 && !defined POSIX2008
+constant TRAP_BRKPT
+constant TRAP_TRACE
+# endif
 constant SI_USER
 constant SI_QUEUE
 constant SI_TIMER
@@ -251,26 +266,35 @@ function void psignal (int, const char*)
 
 // The following expressions are not entirely correct but the current
 // poorfnmatch implementation doesn't grok the right form.
-allow SIG*
 allow sa_*
-allow uc_*
-allow ss_*
-allow sv_*
+allow SA_*
+# ifndef XPG3
 allow si_*
 allow SI_*
+# endif
+# if !defined XPG3 && !defined XPG4
 allow sigev_*
 allow SIGEV_*
 allow sival_*
-allow SA_*
+# endif
+# if !defined POSIX && !defined XPG3 && !defined XPG4
+allow uc_*
+# endif
+# if !defined POSIX && !defined XPG3
 allow BUS_*
 allow CLD_*
 allow FPE_*
 allow ILL_*
 allow POLL_*
 allow SEGV_*
+# endif
+# if !defined POSIX && !defined XPG3 && !defined POSIX2008
 allow SS_*
 allow SV_*
 allow TRAP_*
+allow ss_*
+allow sv_*
+# endif
 allow *_t
 
 allow-header time.h
diff --git a/conform/data/tar.h-data b/conform/data/tar.h-data
index 591850c144..8477860e57 100644
--- a/conform/data/tar.h-data
+++ b/conform/data/tar.h-data
@@ -1,33 +1,33 @@
 #if !defined ISO && !defined ISO99 && !defined ISO11
 macro-str TMAGIC "ustar"
-constant TMAGLEN == 6
+macro-int-constant TMAGLEN {int} == 6
 macro-str TVERSION "00"
-constant TVERSLEN == 2
+macro-int-constant TVERSLEN {int} == 2
 
-constant REGTYPE
-constant AREGTYPE
-constant LNKTYPE
-constant SYMTYPE
-constant CHRTYPE
-constant BLKTYPE
-constant DIRTYPE
-constant FIFOTYPE
-constant CONTTYPE
+macro-int-constant REGTYPE {int} == '0'
+macro-int-constant AREGTYPE {int} == '\0'
+macro-int-constant LNKTYPE {int} == '1'
+macro-int-constant SYMTYPE {int} == '2'
+macro-int-constant CHRTYPE {int} == '3'
+macro-int-constant BLKTYPE {int} == '4'
+macro-int-constant DIRTYPE {int} == '5'
+macro-int-constant FIFOTYPE {int} == '6'
+macro-int-constant CONTTYPE {int} == '7'
 
-constant TSUID == 04000
-constant TSGID == 02000
-# if !defined POSIX && !defined POSIX2008
-constant TSVTX == 01000
+macro-int-constant TSUID {int} == 04000
+macro-int-constant TSGID {int} == 02000
+# if !defined POSIX2008
+macro-int-constant TSVTX {int} == 01000
 # endif
-constant TUREAD == 00400
-constant TUWRITE == 00200
-constant TUEXEC == 00100
-constant TGREAD == 00040
-constant TGWRITE == 00020
-constant TGEXEC == 00010
-constant TOREAD == 00004
-constant TOWRITE == 00002
-constant TOEXEC == 00001
+macro-int-constant TUREAD {int} == 00400
+macro-int-constant TUWRITE {int} == 00200
+macro-int-constant TUEXEC {int} == 00100
+macro-int-constant TGREAD {int} == 00040
+macro-int-constant TGWRITE {int} == 00020
+macro-int-constant TGEXEC {int} == 00010
+macro-int-constant TOREAD {int} == 00004
+macro-int-constant TOWRITE {int} == 00002
+macro-int-constant TOEXEC {int} == 00001
 
 allow *_t
 #endif