aboutsummaryrefslogtreecommitdiff
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