summaryrefslogtreecommitdiff
path: root/conform
diff options
context:
space:
mode:
Diffstat (limited to 'conform')
-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
4 files changed, 64 insertions, 38 deletions
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