aboutsummaryrefslogtreecommitdiff
path: root/conform
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-04-27 20:29:35 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-04-27 20:29:35 +0000
commit0516e24d1882ee7f1946b53bec360b400548cb4f (patch)
treebd6e4dfaa5b27215a0aff026f45a286f65d654b7 /conform
parent6ef8a2c76a79f803343d0d1242cacd1265246153 (diff)
downloadglibc-0516e24d1882ee7f1946b53bec360b400548cb4f.zip
glibc-0516e24d1882ee7f1946b53bec360b400548cb4f.tar.gz
glibc-0516e24d1882ee7f1946b53bec360b400548cb4f.tar.bz2
conformtest: Fix XPG standard naming.
The conform/ tests test -D_XOPEN_SOURCE under the name "XPG3", and -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED under the name "XPG4". That naming is misleading. _XOPEN_SOURCE_EXTENDED actually means XPG4.2, including UX-shaded interfaces. _XOPEN_SOURCE actually means XPG4, or XPG4.2 without UX-shaded interfaces. (Prior XPG versions also used _XOPEN_SOURCE, but without any versioning of the values of the macro, so XPG4.2 without UX-shaded interfaces is the only sensible set of interfaces for glibc to expose given _XOPEN_SOURCE=1 without _XOPEN_SOURCE_EXTENDED defined.) This patch fixes the naming in the conform/ tests, so that what is now called XPG4 is changed to XPG42, and what is now called XPG3 is changed to XPG4. Tested for x86_64 (and verified the complete set of expectations is unchanged by the patch beyond the intended renaming). * conform/GlibcConform.pm (XPG4): Rename standard to XPG42. (XPG3): Rename standard to XPG4. * conform/Makefile: Likewise. * conform/list-header-symbols.pl: Likewise. * conform/data/aio.h-data: Likewise. * conform/data/arpa/inet.h-data: Likewise. * conform/data/complex.h-data: Likewise. * conform/data/ctype.h-data: Likewise. * conform/data/dlfcn.h-data: Likewise. * conform/data/fcntl.h-data: Likewise. * conform/data/fenv.h-data: Likewise. * conform/data/float.h-data: Likewise. * conform/data/fmtmsg.h-data: Likewise. * conform/data/ftw.h-data: Likewise. * conform/data/grp.h-data: Likewise. * conform/data/inttypes.h-data: Likewise. * conform/data/iso646.h-data: Likewise. * conform/data/langinfo.h-data: Likewise. * conform/data/libgen.h-data: Likewise. * conform/data/limits.h-data: Likewise. * conform/data/locale.h-data: Likewise. * conform/data/math.h-data: Likewise. * conform/data/mqueue.h-data: Likewise. * conform/data/ndbm.h-data: Likewise. * conform/data/net/if.h-data: Likewise. * conform/data/netdb.h-data: Likewise. * conform/data/netinet/in.h-data: Likewise. * conform/data/poll.h-data: Likewise. * conform/data/pthread.h-data: Likewise. * conform/data/pwd.h-data: Likewise. * conform/data/sched.h-data: Likewise. * conform/data/search.h-data: Likewise. * conform/data/semaphore.h-data: Likewise. * conform/data/signal.h-data: Likewise. * conform/data/spawn.h-data: Likewise. * conform/data/stdbool.h-data: Likewise. * conform/data/stdint.h-data: Likewise. * conform/data/stdio.h-data: Likewise. * conform/data/stdlib.h-data: Likewise. * conform/data/string.h-data: Likewise. * conform/data/strings.h-data: Likewise. * conform/data/stropts.h-data: Likewise. * conform/data/sys/mman.h-data: Likewise. * conform/data/sys/resource.h-data: Likewise. * conform/data/sys/select.h-data: Likewise. * conform/data/sys/socket.h-data: Likewise. * conform/data/sys/stat.h-data: Likewise. * conform/data/sys/statvfs.h-data: Likewise. * conform/data/sys/time.h-data: Likewise. * conform/data/sys/timeb.h-data: Likewise. * conform/data/sys/types.h-data: Likewise. * conform/data/sys/uio.h-data: Likewise. * conform/data/sys/un.h-data: Likewise. * conform/data/sys/wait.h-data: Likewise. * conform/data/syslog.h-data: Likewise. * conform/data/termios.h-data: Likewise. * conform/data/tgmath.h-data: Likewise. * conform/data/time.h-data: Likewise. * conform/data/ucontext.h-data: Likewise. * conform/data/unistd.h-data: Likewise. * conform/data/utmpx.h-data: Likewise. * conform/data/varargs.h-data: Likewise. * conform/data/wchar.h-data: Likewise. * conform/data/wctype.h-data: Likewise.
Diffstat (limited to 'conform')
-rw-r--r--conform/GlibcConform.pm4
-rw-r--r--conform/Makefile36
-rw-r--r--conform/data/aio.h-data2
-rw-r--r--conform/data/arpa/inet.h-data2
-rw-r--r--conform/data/complex.h-data2
-rw-r--r--conform/data/ctype.h-data2
-rw-r--r--conform/data/dlfcn.h-data2
-rw-r--r--conform/data/fcntl.h-data4
-rw-r--r--conform/data/fenv.h-data2
-rw-r--r--conform/data/float.h-data2
-rw-r--r--conform/data/fmtmsg.h-data2
-rw-r--r--conform/data/ftw.h-data8
-rw-r--r--conform/data/grp.h-data2
-rw-r--r--conform/data/inttypes.h-data2
-rw-r--r--conform/data/iso646.h-data2
-rw-r--r--conform/data/langinfo.h-data2
-rw-r--r--conform/data/libgen.h-data2
-rw-r--r--conform/data/limits.h-data32
-rw-r--r--conform/data/locale.h-data2
-rw-r--r--conform/data/math.h-data30
-rw-r--r--conform/data/mqueue.h-data2
-rw-r--r--conform/data/ndbm.h-data2
-rw-r--r--conform/data/net/if.h-data2
-rw-r--r--conform/data/netdb.h-data8
-rw-r--r--conform/data/netinet/in.h-data2
-rw-r--r--conform/data/poll.h-data2
-rw-r--r--conform/data/pthread.h-data2
-rw-r--r--conform/data/pwd.h-data2
-rw-r--r--conform/data/sched.h-data2
-rw-r--r--conform/data/search.h-data4
-rw-r--r--conform/data/semaphore.h-data2
-rw-r--r--conform/data/signal.h-data34
-rw-r--r--conform/data/spawn.h-data2
-rw-r--r--conform/data/stdbool.h-data2
-rw-r--r--conform/data/stdint.h-data2
-rw-r--r--conform/data/stdio.h-data20
-rw-r--r--conform/data/stdlib.h-data48
-rw-r--r--conform/data/string.h-data2
-rw-r--r--conform/data/strings.h-data2
-rw-r--r--conform/data/stropts.h-data2
-rw-r--r--conform/data/sys/mman.h-data4
-rw-r--r--conform/data/sys/resource.h-data2
-rw-r--r--conform/data/sys/select.h-data4
-rw-r--r--conform/data/sys/socket.h-data4
-rw-r--r--conform/data/sys/stat.h-data22
-rw-r--r--conform/data/sys/statvfs.h-data2
-rw-r--r--conform/data/sys/time.h-data2
-rw-r--r--conform/data/sys/timeb.h-data2
-rw-r--r--conform/data/sys/types.h-data6
-rw-r--r--conform/data/sys/uio.h-data2
-rw-r--r--conform/data/sys/un.h-data2
-rw-r--r--conform/data/sys/wait.h-data2
-rw-r--r--conform/data/syslog.h-data2
-rw-r--r--conform/data/termios.h-data2
-rw-r--r--conform/data/tgmath.h-data2
-rw-r--r--conform/data/time.h-data20
-rw-r--r--conform/data/ucontext.h-data2
-rw-r--r--conform/data/unistd.h-data68
-rw-r--r--conform/data/utmpx.h-data2
-rw-r--r--conform/data/varargs.h-data2
-rw-r--r--conform/data/wchar.h-data2
-rw-r--r--conform/data/wctype.h-data2
-rw-r--r--conform/list-header-symbols.pl4
63 files changed, 224 insertions, 224 deletions
diff --git a/conform/GlibcConform.pm b/conform/GlibcConform.pm
index 987d24b..fbe65b5 100644
--- a/conform/GlibcConform.pm
+++ b/conform/GlibcConform.pm
@@ -29,8 +29,8 @@ $CFLAGS{"ISO"} = "-ansi";
$CFLAGS{"ISO99"} = "-std=c99";
$CFLAGS{"ISO11"} = "-std=c11";
$CFLAGS{"POSIX"} = "-D_POSIX_C_SOURCE=199506L -ansi";
-$CFLAGS{"XPG3"} = "-ansi -D_XOPEN_SOURCE";
-$CFLAGS{"XPG4"} = "-ansi -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED";
+$CFLAGS{"XPG4"} = "-ansi -D_XOPEN_SOURCE";
+$CFLAGS{"XPG42"} = "-ansi -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED";
$CFLAGS{"UNIX98"} = "-ansi -D_XOPEN_SOURCE=500";
$CFLAGS{"XOPEN2K"} = "-std=c99 -D_XOPEN_SOURCE=600";
$CFLAGS{"XOPEN2K8"} = "-std=c99 -D_XOPEN_SOURCE=700";
diff --git a/conform/Makefile b/conform/Makefile
index 19404fd..1f38b30 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -25,7 +25,7 @@ include ../Makeconfig
conformtest-headers-data := $(wildcard data/*.h-data) \
$(wildcard data/*/*.h-data)
-conformtest-standards := ISO ISO99 ISO11 POSIX XPG3 XPG4 UNIX98 XOPEN2K \
+conformtest-standards := ISO ISO99 ISO11 POSIX XPG4 XPG42 UNIX98 XOPEN2K \
POSIX2008 XOPEN2K8
conformtest-headers-ISO := assert.h ctype.h errno.h float.h limits.h locale.h \
@@ -43,17 +43,17 @@ conformtest-headers-POSIX := $(conformtest-headers-ISO) aio.h dirent.h \
sys/mman.h sys/stat.h sys/times.h sys/types.h \
sys/utsname.h sys/wait.h tar.h termios.h \
unistd.h utime.h wordexp.h
-# Missing XPG3 expectations for: regexp.h wchar.h.
-conformtest-headers-XPG3 := $(conformtest-headers-ISO) cpio.h dirent.h \
+# Missing XPG4 expectations for: regexp.h wchar.h.
+conformtest-headers-XPG4 := $(conformtest-headers-ISO) cpio.h dirent.h \
fcntl.h fnmatch.h ftw.h glob.h grp.h iconv.h \
langinfo.h monetary.h nl_types.h pwd.h regex.h \
search.h sys/ipc.h sys/msg.h sys/sem.h sys/shm.h \
sys/stat.h sys/times.h sys/types.h sys/utsname.h \
sys/wait.h tar.h termios.h ulimit.h unistd.h \
utime.h varargs.h wordexp.h
-# Missing XPG4 expectations for: re_comp.h regexp.h wchar.h.
-# XPG4 includes XTI, but xti.h is outside the scope of these tests.
-conformtest-headers-XPG4 := $(conformtest-headers-XPG3) arpa/inet.h fmtmsg.h \
+# Missing XPG42 expectations for: re_comp.h regexp.h wchar.h.
+# XPG42 includes XTI, but xti.h is outside the scope of these tests.
+conformtest-headers-XPG42 := $(conformtest-headers-XPG4) arpa/inet.h fmtmsg.h \
libgen.h ndbm.h netdb.h netinet/in.h poll.h \
strings.h stropts.h sys/mman.h sys/resource.h \
sys/socket.h sys/statvfs.h sys/time.h sys/timeb.h \
@@ -150,25 +150,25 @@ $(conformtest-header-list-tests): $(objpfx)header-list-%.out: \
# Pre-standard C feature no longer supported by GCC (obsoleted in
# newer POSIX standards).
-test-xfail-XPG3/varargs.h/conform = yes
test-xfail-XPG4/varargs.h/conform = yes
+test-xfail-XPG42/varargs.h/conform = yes
test-xfail-UNIX98/varargs.h/conform = yes
# Header not provided by glibc.
-test-xfail-XPG4/ndbm.h/conform = yes
+test-xfail-XPG42/ndbm.h/conform = yes
test-xfail-UNIX98/ndbm.h/conform = yes
test-xfail-XOPEN2K/ndbm.h/conform = yes
test-xfail-XOPEN2K8/ndbm.h/conform = yes
# Unsorted expected failures.
-test-xfail-XPG3/signal.h/conform = yes
-test-xfail-XPG3/sys/wait.h/conform = yes
-test-xfail-XPG4/arpa/inet.h/conform = yes
-test-xfail-XPG4/netdb.h/conform = yes
-test-xfail-XPG4/netinet/in.h/conform = yes
test-xfail-XPG4/signal.h/conform = yes
test-xfail-XPG4/sys/wait.h/conform = yes
-test-xfail-XPG4/ucontext.h/conform = yes
+test-xfail-XPG42/arpa/inet.h/conform = yes
+test-xfail-XPG42/netdb.h/conform = yes
+test-xfail-XPG42/netinet/in.h/conform = yes
+test-xfail-XPG42/signal.h/conform = yes
+test-xfail-XPG42/sys/wait.h/conform = yes
+test-xfail-XPG42/ucontext.h/conform = yes
test-xfail-POSIX/sys/wait.h/conform = yes
test-xfail-UNIX98/arpa/inet.h/conform = yes
test-xfail-UNIX98/netdb.h/conform = yes
@@ -223,9 +223,9 @@ linknamespace-libs-xsi = $(linknamespace-libs-posix) \
linknamespace-libs-ISO = $(linknamespace-libs-isoc)
linknamespace-libs-ISO99 = $(linknamespace-libs-isoc)
linknamespace-libs-ISO11 = $(linknamespace-libs-isoc)
-linknamespace-libs-XPG3 = $(linknamespace-libs-isoc) \
+linknamespace-libs-XPG4 = $(linknamespace-libs-isoc) \
$(common-objpfx)crypt/libcrypt.a
-linknamespace-libs-XPG4 = $(linknamespace-libs-XPG3)
+linknamespace-libs-XPG42 = $(linknamespace-libs-XPG4)
linknamespace-libs-POSIX = $(linknamespace-libs-thr)
linknamespace-libs-UNIX98 = $(linknamespace-libs-xsi)
linknamespace-libs-XOPEN2K = $(linknamespace-libs-xsi)
@@ -255,12 +255,12 @@ $(linknamespace-header-tests): $(objpfx)%/linknamespace.out: \
# Pre-standard C feature no longer supported by GCC (obsoleted in
# newer POSIX standards).
-test-xfail-XPG3/varargs.h/linknamespace = yes
test-xfail-XPG4/varargs.h/linknamespace = yes
+test-xfail-XPG42/varargs.h/linknamespace = yes
test-xfail-UNIX98/varargs.h/linknamespace = yes
# Header not provided by glibc.
-test-xfail-XPG4/ndbm.h/linknamespace = yes
+test-xfail-XPG42/ndbm.h/linknamespace = yes
test-xfail-UNIX98/ndbm.h/linknamespace = yes
test-xfail-XOPEN2K/ndbm.h/linknamespace = yes
test-xfail-XOPEN2K8/ndbm.h/linknamespace = yes
diff --git a/conform/data/aio.h-data b/conform/data/aio.h-data
index e87923e..adb291b 100644
--- a/conform/data/aio.h-data
+++ b/conform/data/aio.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
type {struct aiocb}
// Test elements of the AIO control struct.
diff --git a/conform/data/arpa/inet.h-data b/conform/data/arpa/inet.h-data
index 2bd3aee..d4ab6bb 100644
--- a/conform/data/arpa/inet.h-data
+++ b/conform/data/arpa/inet.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
// in_port_t should have exactly 16 bits
type in_port_t
// in_addr_t should have exactly 32 bits
diff --git a/conform/data/complex.h-data b/conform/data/complex.h-data
index 7de888f..4af7757 100644
--- a/conform/data/complex.h-data
+++ b/conform/data/complex.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
macro complex
macro _Complex_I
optional-macro imaginary
diff --git a/conform/data/ctype.h-data b/conform/data/ctype.h-data
index 3ee21c9..7e10794 100644
--- a/conform/data/ctype.h-data
+++ b/conform/data/ctype.h-data
@@ -12,7 +12,7 @@ function int isxdigit (int)
function int tolower (int)
function int toupper (int)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int isblank (int)
#endif
diff --git a/conform/data/dlfcn.h-data b/conform/data/dlfcn.h-data
index a954c9d..b6658ae 100644
--- a/conform/data/dlfcn.h-data
+++ b/conform/data/dlfcn.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42
macro RTLD_LAZY
macro RTLD_NOW
macro RTLD_GLOBAL
diff --git a/conform/data/fcntl.h-data b/conform/data/fcntl.h-data
index ccaf98f..17596f5 100644
--- a/conform/data/fcntl.h-data
+++ b/conform/data/fcntl.h-data
@@ -7,7 +7,7 @@ constant F_SETFL
constant F_GETLK
constant F_SETLK
constant F_SETLKW
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant F_GETOWN
constant F_SETOWN
#endif
@@ -36,7 +36,7 @@ constant O_TRUNC
constant O_APPEND
constant O_NONBLOCK
constant O_SYNC
-#if !defined XPG3 && !defined XPG4
+#if !defined XPG4 && !defined XPG42
constant O_DSYNC
constant O_RSYNC
#endif
diff --git a/conform/data/fenv.h-data b/conform/data/fenv.h-data
index bb33d4b..280b728 100644
--- a/conform/data/fenv.h-data
+++ b/conform/data/fenv.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type fenv_t
type fexcept_t
diff --git a/conform/data/float.h-data b/conform/data/float.h-data
index 350802a..7b98fc0 100644
--- a/conform/data/float.h-data
+++ b/conform/data/float.h-data
@@ -38,7 +38,7 @@ macro-constant FLT_MIN <= 1.0E-37
macro-constant DBL_MIN <= 1.0E-37
macro-constant LDBL_MIN <= 1.0E-37
-#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined POSIX && !defined UNIX98
+#if !defined ISO && !defined XPG4 && !defined XPG42 && !defined POSIX && !defined UNIX98
macro-int-constant DECIMAL_DIG >= 10
macro-int-constant FLT_EVAL_METHOD
#endif
diff --git a/conform/data/fmtmsg.h-data b/conform/data/fmtmsg.h-data
index e64d87c..c1b18ad 100644
--- a/conform/data/fmtmsg.h-data
+++ b/conform/data/fmtmsg.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
macro MM_HARD
constant MM_HARD
diff --git a/conform/data/ftw.h-data b/conform/data/ftw.h-data
index 9102bbe..340334b 100644
--- a/conform/data/ftw.h-data
+++ b/conform/data/ftw.h-data
@@ -1,5 +1,5 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-# ifndef XPG3
+# ifndef XPG4
type {struct FTW}
element {struct FTW} int base
element {struct FTW} int level
@@ -8,12 +8,12 @@ element {struct FTW} int level
macro FTW_F
macro FTW_D
macro FTW_DNR
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
macro FTW_DP
# endif
macro FTW_NS
-# ifndef XPG3
+# ifndef XPG4
macro FTW_SL
macro FTW_SLN
@@ -24,7 +24,7 @@ macro FTW_CHDIR
# endif
function int ftw (const char*, int (*) (const char *, const struct stat*, int), int)
-# ifndef XPG3
+# ifndef XPG4
function int nftw (const char*, int (*) (const char *, const struct stat*, int, struct FTW *), int, int)
# endif
diff --git a/conform/data/grp.h-data b/conform/data/grp.h-data
index 53e880d..1688444 100644
--- a/conform/data/grp.h-data
+++ b/conform/data/grp.h-data
@@ -19,7 +19,7 @@ function {struct group*} getgrgid (gid_t)
function {struct group*} getgrnam (const char*)
function int getgrgid_r (gid_t, struct group*, char *, size_t, struct group**)
function int getgrnam_r (const char *, struct group *, char *, size_t, struct group**)
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function {struct group*} getgrent (void)
function void endgrent (void)
function void setgrent (void)
diff --git a/conform/data/inttypes.h-data b/conform/data/inttypes.h-data
index 8c076df..2ae5b95 100644
--- a/conform/data/inttypes.h-data
+++ b/conform/data/inttypes.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#include "stdint.h-data"
type imaxdiv_t
diff --git a/conform/data/iso646.h-data b/conform/data/iso646.h-data
index d4afaa5..9e307f7 100644
--- a/conform/data/iso646.h-data
+++ b/conform/data/iso646.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
macro and
macro and_eq
macro bitand
diff --git a/conform/data/langinfo.h-data b/conform/data/langinfo.h-data
index b80fef2..6bbb387 100644
--- a/conform/data/langinfo.h-data
+++ b/conform/data/langinfo.h-data
@@ -55,7 +55,7 @@ constant YESEXPR
constant NOEXPR
constant CRNCYSTR
-# if defined XPG3 || defined XPG4 || defined UNIX98
+# if defined XPG4 || defined XPG42 || defined UNIX98
constant YESSTR
constant NOSTR
# endif
diff --git a/conform/data/libgen.h-data b/conform/data/libgen.h-data
index 443cd0b..e9eb5fa 100644
--- a/conform/data/libgen.h-data
+++ b/conform/data/libgen.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
function {char*} basename (char*)
function {char*} dirname (char*)
diff --git a/conform/data/limits.h-data b/conform/data/limits.h-data
index 5ea68ff..23114a5 100644
--- a/conform/data/limits.h-data
+++ b/conform/data/limits.h-data
@@ -32,12 +32,12 @@ allow AIO_LISTIO_MAX
allow AIO_MAX
allow AIO_PRIO_DELTA_MAX
allow ARG_MAX
-#if !defined POSIX && !defined XPG3
+#if !defined POSIX && !defined XPG4
allow ATEXIT_MAX
#endif
allow CHILD_MAX
allow DELAYTIMER_MAX
-#if !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined POSIX && !defined POSIX2008 && !defined XPG4
allow IOV_MAX
#endif
allow LOGIN_NAME_MAX
@@ -56,18 +56,18 @@ allow RTSIG_MAX
allow SEM_NSEMS_MAX
allow SEM_VALUE_MAX
allow SIGQUEUE_MAX
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
allow SS_REPL_MAX
#endif
allow STREAM_MAX
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
allow SYMLOOP_MAX
#endif
allow TIMER_MAX
allow TTY_NAME_MAX
allow TZNAME_MAX
-#if !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined POSIX && !defined XPG4 && !defined XPG42
allow FILESIZEBITS
#endif
allow LINK_MAX
@@ -76,7 +76,7 @@ allow MAX_INPUT
allow NAME_MAX
allow PATH_MAX
allow PIPE_BUF
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
allow POSIX_ALLOC_SIZE_MIN
allow POSIX_REC_INCR_XFER_SIZE
allow POSIX_REC_MAX_XFER_SIZE
@@ -88,7 +88,7 @@ macro-constant BC_BASE_MAX >= _POSIX2_BC_BASE_MAX
macro-constant BC_DIM_MAX >= _POSIX2_BC_DIM_MAX
macro-constant BC_SCALE_MAX >= _POSIX2_BC_SCALE_MAX
macro-constant BC_STRING_MAX >= _POSIX2_BC_STRING_MAX
-#if !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined POSIX && !defined XPG4 && !defined XPG42
macro CHARCLASS_NAME_MAX
#endif
macro-constant COLL_WEIGHTS_MAX >= _POSIX2_COLL_WEIGHTS_MAX
@@ -102,7 +102,7 @@ constant _POSIX_CLOCKRES_MIN == 20000000
constant _POSIX_AIO_LISTIO_MAX == 2
constant _POSIX_AIO_MAX == 1
constant _POSIX_ARG_MAX == 4096
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant _POSIX_CHILD_MAX == 25
#else
constant _POSIX_CHILD_MAX == 6
@@ -115,12 +115,12 @@ constant _POSIX_MAX_INPUT == 255
constant _POSIX_MQ_OPEN_MAX == 8
constant _POSIX_MQ_PRIO_MAX == 32
constant _POSIX_NAME_MAX == 14
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant _POSIX_NGROUPS_MAX == 8
#else
constant _POSIX_NGROUPS_MAX == 0
#endif
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant _POSIX_OPEN_MAX == 20
#else
constant _POSIX_OPEN_MAX == 16
@@ -134,7 +134,7 @@ constant _POSIX_SEM_VALUE_MAX == 32767
constant _POSIX_SIGQUEUE_MAX == 32
constant _POSIX_SSIZE_MAX == 32767
constant _POSIX_STREAM_MAX == 8
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
optional-constant _POSIX_SS_REPL_MAX == 4
optional-constant _POSIX_SYMLINK_MAX == 255
optional-constant _POSIX_SYMLOOP_MAX == 8
@@ -144,7 +144,7 @@ constant _POSIX_THREAD_KEYS_MAX == 128
constant _POSIX_THREAD_THREADS_MAX == 64
constant _POSIX_TIMER_MAX == 32
constant _POSIX_TTY_NAME_MAX == 9
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant _POSIX_TZNAME_MAX == 6
#else
constant _POSIX_TZNAME_MAX == 3
@@ -153,14 +153,14 @@ macro-constant _POSIX2_BC_BASE_MAX == 99
macro-constant _POSIX2_BC_DIM_MAX == 2048
macro-constant _POSIX2_BC_SCALE_MAX == 99
macro-constant _POSIX2_BC_STRING_MAX == 1000
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant _POSIX2_CHARCLASS_NAME_MAX == 14
#endif
macro-constant _POSIX2_COLL_WEIGHTS_MAX == 2
macro-constant _POSIX2_EXPR_NEST_MAX == 32
macro-constant _POSIX2_LINE_MAX == 2048
macro-constant _POSIX2_RE_DUP_MAX == 255
-#if !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined POSIX && !defined POSIX2008 && !defined XPG4
optional-constant _XOPEN_IOV_MAX == 16
#endif
@@ -188,12 +188,12 @@ optional-constant NL_TEXTMAX
optional-constant NZERO >= 20
# endif
#endif
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
optional-constant TMP_MAX >= 10000
#endif
allow *_MAX
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
allow *_MIN
#endif
allow *_t
diff --git a/conform/data/locale.h-data b/conform/data/locale.h-data
index adcd25f..266264ac6 100644
--- a/conform/data/locale.h-data
+++ b/conform/data/locale.h-data
@@ -17,7 +17,7 @@ element {struct lconv} char p_cs_precedes
element {struct lconv} char p_sep_by_space
element {struct lconv} char p_sign_posn
element {struct lconv} {char*} thousands_sep
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
element {struct lconv} char int_n_cs_precedes
element {struct lconv} char int_n_sep_by_space
element {struct lconv} char int_n_sign_posn
diff --git a/conform/data/math.h-data b/conform/data/math.h-data
index 7153333..0c50755 100644
--- a/conform/data/math.h-data
+++ b/conform/data/math.h-data
@@ -1,7 +1,7 @@
macro-constant HUGE_VAL {double}
#if !defined ISO && !defined POSIX
-# if !defined XPG3 && !defined XPG4 && !defined UNIX98
+# if !defined XPG4 && !defined XPG42 && !defined UNIX98
macro fpclassify
macro isfinite
macro isinf
@@ -17,7 +17,7 @@ macro isunordered
type float_t
type double_t
# endif
-# if defined XPG3 || defined XPG4 || defined UNIX98
+# if defined XPG4 || defined XPG42 || defined UNIX98
function int isnan (double)
# endif
@@ -38,7 +38,7 @@ constant M_SQRT1_2
constant MAXFLOAT
# endif
-# if !defined XPG3 && !defined XPG4 && !defined UNIX98
+# if !defined XPG4 && !defined XPG42 && !defined UNIX98
macro-constant HUGE_VALF {float}
macro-constant HUGE_VALL {long double}
macro-constant INFINITY {float}
@@ -69,13 +69,13 @@ function double asin (double)
function double atan (double)
function double atan2 (double, double)
function double ceil (double)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function double copysign (double, double)
#endif
function double cos (double)
function double cosh (double)
function double exp (double)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function double exp2 (double)
#endif
function double fabs (double)
@@ -85,7 +85,7 @@ function double frexp (double, int*)
function double ldexp (double, int)
function double log (double)
function double log10 (double)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function double log2 (double)
#endif
function double modf (double, double*)
@@ -99,7 +99,7 @@ function double tanh (double)
function double erf (double)
function double erfc (double)
#endif
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function double gamma (double)
#endif
#if !defined ISO && !defined POSIX
@@ -110,7 +110,7 @@ function double j1 (double)
function double jn (int, double)
# endif
function double lgamma (double)
-# if !defined XPG3 && !defined XPG4 && !defined UNIX98
+# if !defined XPG4 && !defined XPG42 && !defined UNIX98
function double tgamma (double)
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
@@ -118,7 +118,7 @@ function double y0 (double)
function double y1 (double)
function double yn (int, double)
# endif
-# if !defined XPG3
+# if !defined XPG4
function double acosh (double)
function double asinh (double)
function double atanh (double)
@@ -128,13 +128,13 @@ function int ilogb (double)
function double log1p (double)
function double logb (double)
function double nextafter (double, double)
-# if !defined XPG4 && !defined UNIX98
+# if !defined XPG42 && !defined UNIX98
function double nexttoward (double, long double)
function double nearbyint (double)
# endif
function double remainder (double, double)
function double rint (double)
-# if !defined XPG4 && !defined UNIX98
+# if !defined XPG42 && !defined UNIX98
function double round (double)
function double trunc (double)
function long lrint (double)
@@ -143,10 +143,10 @@ function long lround (double)
function {long long} llround (double)
function double remquo (double, double, int*)
# endif
-# if defined XPG4 || defined UNIX98 || defined XOPEN2K
+# if defined XPG42 || defined UNIX98 || defined XOPEN2K
function double scalb (double, double)
# endif
-# if !defined XPG4 && !defined UNIX98
+# if !defined XPG42 && !defined UNIX98
function double scalbn (double, int)
function double scalbln (double, long)
function double fdim (double, double)
@@ -163,7 +163,7 @@ allow signgam
# endif
#endif
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function float acosf (float)
function float asinf (float)
function float atanf (float)
@@ -330,6 +330,6 @@ allow tanhl
#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
#endif
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
allow FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
#endif
diff --git a/conform/data/mqueue.h-data b/conform/data/mqueue.h-data
index c7d40ba..42ccd85 100644
--- a/conform/data/mqueue.h-data
+++ b/conform/data/mqueue.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
// should test for not an array type.
type mqd_t
diff --git a/conform/data/ndbm.h-data b/conform/data/ndbm.h-data
index 43c6a38..2ee7a59 100644
--- a/conform/data/ndbm.h-data
+++ b/conform/data/ndbm.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type datum
element datum {void*} dptr
element datum size_t dsize
diff --git a/conform/data/net/if.h-data b/conform/data/net/if.h-data
index fd85095..8a4d89c 100644
--- a/conform/data/net/if.h-data
+++ b/conform/data/net/if.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type {struct if_nameindex}
element {struct if_nameindex} {unsigned int} if_index
diff --git a/conform/data/netdb.h-data b/conform/data/netdb.h-data
index 7258a51..c6d8b70 100644
--- a/conform/data/netdb.h-data
+++ b/conform/data/netdb.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
optional-type in_port_t
optional-type in_addr_t
@@ -45,7 +45,7 @@ macro NO_RECOVERY
macro TRY_AGAIN
#endif
-#if !defined XPG4 && !defined UNIX98
+#if !defined XPG42 && !defined UNIX98
type {struct addrinfo}
element {struct addrinfo} int ai_flags
element {struct addrinfo} int ai_family
@@ -86,7 +86,7 @@ function void endhostent (void)
function void endnetent (void)
function void endprotoent (void)
function void endservent (void)
-#if !defined XPG4 && !defined UNIX98
+#if !defined XPG42 && !defined UNIX98
function void freeaddrinfo (struct addrinfo*)
function {const char*} gai_strerror (int)
function int getaddrinfo (const char*, const char*, const struct addrinfo*, struct addrinfo**)
@@ -94,7 +94,7 @@ function int getaddrinfo (const char*, const char*, const struct addrinfo*, stru
function {struct hostent*} gethostbyaddr (const void*, socklen_t, int)
function {struct hostent*} gethostbyname (const char*)
function {struct hostent*} gethostent (void)
-#if !defined XPG4 && !defined UNIX98
+#if !defined XPG42 && !defined UNIX98
function int getnameinfo (const struct sockaddr*, socklen_t, char*, socklen_t, char*, socklen_t, int)
#endif
function {struct netent*} getnetbyaddr (uint32_t, int)
diff --git a/conform/data/netinet/in.h-data b/conform/data/netinet/in.h-data
index 9284326..ac26a74 100644
--- a/conform/data/netinet/in.h-data
+++ b/conform/data/netinet/in.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
type in_port_t
type in_addr_t
diff --git a/conform/data/poll.h-data b/conform/data/poll.h-data
index 84777df..f7ebb91 100644
--- a/conform/data/poll.h-data
+++ b/conform/data/poll.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
type {struct pollfd}
element {struct pollfd} int fd
element {struct pollfd} {short int} events
diff --git a/conform/data/pthread.h-data b/conform/data/pthread.h-data
index c1e32c8..6b10499 100644
--- a/conform/data/pthread.h-data
+++ b/conform/data/pthread.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
constant PTHREAD_CANCEL_ASYNCHRONOUS
constant PTHREAD_CANCEL_ENABLE
constant PTHREAD_CANCEL_DEFERRED
diff --git a/conform/data/pwd.h-data b/conform/data/pwd.h-data
index 2c4a6fe..e86433d 100644
--- a/conform/data/pwd.h-data
+++ b/conform/data/pwd.h-data
@@ -23,7 +23,7 @@ function {struct passwd*} getpwnam (const char*)
function {struct passwd*} getpwuid (uid_t)
function int getpwnam_r (const char*, struct passwd*, char*, size_t, struct passwd**)
function int getpwuid_r (uid_t, struct passwd*, char*, size_t, struct passwd**)
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function void endpwent (void)
function {struct passwd*} getpwent (void)
function void setpwent (void)
diff --git a/conform/data/sched.h-data b/conform/data/sched.h-data
index 610406d..63e5eb2 100644
--- a/conform/data/sched.h-data
+++ b/conform/data/sched.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
# if defined POSIX || defined UNIX98
# include "time.h-data"
# else
diff --git a/conform/data/search.h-data b/conform/data/search.h-data
index 3d66fdf..e99f7e6 100644
--- a/conform/data/search.h-data
+++ b/conform/data/search.h-data
@@ -17,12 +17,12 @@ constant leaf
function int hcreate (size_t)
function void hdestroy (void)
function {ENTRY*} hsearch (ENTRY, ACTION)
-#ifndef XPG3
+#ifndef XPG4
function void insque (void*, void*)
#endif
function {void*} lfind (const void*, const void*, size_t*, size_t, int (*)(const void*, const void*))
function {void*} lsearch (const void*, void*, size_t*, size_t, int (*)(const void*, const void*))
-#ifndef XPG3
+#ifndef XPG4
function void remque (void*)
#endif
function {void*} tdelete (const void*, void**, int(*)(const void*, const void*))
diff --git a/conform/data/semaphore.h-data b/conform/data/semaphore.h-data
index 8c3497b..7c26cd3 100644
--- a/conform/data/semaphore.h-data
+++ b/conform/data/semaphore.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
type sem_t
constant SEM_FAILED
diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data
index 1443215..3651e86 100644
--- a/conform/data/signal.h-data
+++ b/conform/data/signal.h-data
@@ -81,18 +81,18 @@ 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
+# ifndef XPG4
macro-int-constant SIGBUS {int} > 0
# endif
-# if !defined POSIX && !defined XPG3
+# if !defined POSIX && !defined XPG4
macro-int-constant SIGPOLL {int} > 0
macro-int-constant SIGPROF {int} > 0
macro-int-constant SIGSYS {int} > 0
# endif
-# if !defined POSIX && !defined XPG3 && !defined POSIX2008
+# if !defined POSIX && !defined XPG4 && !defined POSIX2008
macro-int-constant SIGTRAP {int} > 0
# endif
-# if !defined POSIX && !defined XPG3
+# if !defined POSIX && !defined XPG4
macro-int-constant SIGURG {int} > 0
macro-int-constant SIGVTALRM {int} > 0
macro-int-constant SIGXCPU {int} > 0
@@ -147,7 +147,7 @@ element {struct sigstack} int ss_onstack
element {struct sigstack} {void*} ss_sp
# endif
-# ifndef XPG3
+# ifndef XPG4
type siginfo_t
element siginfo_t int si_signo
@@ -162,12 +162,12 @@ element siginfo_t {void*} si_addr
element siginfo_t int si_status
element siginfo_t long si_band
# endif
-# ifndef XPG4
+# ifndef XPG42
element siginfo_t {union sigval} si_value
# endif
# endif
-# if !defined POSIX && !defined XPG3
+# if !defined POSIX && !defined XPG4
constant ILL_ILLOPC
constant ILL_ILLOPN
constant ILL_ILLADR
@@ -202,7 +202,7 @@ constant POLL_ERR
constant POLL_PRI
constant POLL_HUP
# endif
-# if !defined POSIX && !defined XPG3 && !defined POSIX2008
+# if !defined POSIX && !defined XPG4 && !defined POSIX2008
constant TRAP_BRKPT
constant TRAP_TRACE
# endif
@@ -219,7 +219,7 @@ function int kill (pid_t, int)
# if !defined POSIX && !defined POSIX2008
function int killpg (pid_t, int)
# endif
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
function int pthread_kill (pthread_t, int)
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
# endif
@@ -242,7 +242,7 @@ function int sigpause (int)
# endif
function int sigpending (sigset_t*)
function int sigprocmask (int, const sigset_t*, sigset_t*)
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
function int sigqueue (pid_t, int, const union sigval)
# endif
# if !defined POSIX && !defined POSIX2008
@@ -253,11 +253,11 @@ function void (*sigset (int, void(*)(int)))(int)
function int sigstack (struct sigstack*, struct sigstack*)
# endif
function int sigsuspend (const sigset_t*)
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
# endif
function int sigwait (const sigset_t*, int*)
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
function int sigwaitinfo (const sigset_t*, siginfo_t*)
# endif
# if defined XOPEN2K8 || defined POSIX2008
@@ -269,19 +269,19 @@ function void psignal (int, const char*)
// poorfnmatch implementation doesn't grok the right form.
allow sa_*
allow SA_*
-# ifndef XPG3
+# ifndef XPG4
allow si_*
allow SI_*
# endif
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
allow sigev_*
allow SIGEV_*
allow sival_*
# endif
-# if !defined POSIX && !defined XPG3 && !defined XPG4
+# if !defined POSIX && !defined XPG4 && !defined XPG42
allow uc_*
# endif
-# if !defined POSIX && !defined XPG3
+# if !defined POSIX && !defined XPG4
allow BUS_*
allow CLD_*
allow FPE_*
@@ -289,7 +289,7 @@ allow ILL_*
allow POLL_*
allow SEGV_*
# endif
-# if !defined POSIX && !defined XPG3 && !defined POSIX2008
+# if !defined POSIX && !defined XPG4 && !defined POSIX2008
allow SS_*
allow SV_*
allow TRAP_*
diff --git a/conform/data/spawn.h-data b/conform/data/spawn.h-data
index fb206f7..de4aaa7 100644
--- a/conform/data/spawn.h-data
+++ b/conform/data/spawn.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type posix_spawnattr_t
type posix_spawn_file_actions_t
# if defined XOPEN2K8 || defined POSIX2008
diff --git a/conform/data/stdbool.h-data b/conform/data/stdbool.h-data
index 9ef218c..a030e9c 100644
--- a/conform/data/stdbool.h-data
+++ b/conform/data/stdbool.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
macro bool
macro-int-constant true {int} == 1
macro-int-constant false {int} == 0
diff --git a/conform/data/stdint.h-data b/conform/data/stdint.h-data
index f668951..4e84e17 100644
--- a/conform/data/stdint.h-data
+++ b/conform/data/stdint.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
// The requirements for some types and corresponding macros are from POSIX.
type int8_t
type int16_t
diff --git a/conform/data/stdio.h-data b/conform/data/stdio.h-data
index 168128e..f69802c 100644
--- a/conform/data/stdio.h-data
+++ b/conform/data/stdio.h-data
@@ -52,7 +52,7 @@ type ssize_t
function void clearerr (FILE*)
#if !defined ISO && !defined ISO99 && !defined ISO11
function {char*} ctermid (char*)
-# if defined XPG3 || defined XPG4 || defined UNIX98
+# if defined XPG4 || defined XPG42 || defined UNIX98
function {char*} cuserid (char*)
# endif
#endif
@@ -109,13 +109,13 @@ function int getchar_unlocked (void)
function ssize_t getdelim (char**, size_t*, int, FILE*)
function ssize_t getline (char**, size_t*, FILE*)
#endif
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function int getopt (int, char *const[], const char *)
#endif
#if !defined ISO11
function {char*} gets (char*)
#endif
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function int getw (FILE*)
#endif
#if defined XOPEN2K8 || defined POSIX2008
@@ -136,7 +136,7 @@ function int putc_unlocked (int, FILE*)
function int putchar_unlocked (int)
#endif
function int puts (const char*)
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function int putw (int, FILE*)
#endif
function int remove (const char*)
@@ -148,12 +148,12 @@ function void rewind (FILE*)
function int scanf (const char*, ...)
function void setbuf (FILE*, char*)
function int setvbuf (FILE*, char*, int, size_t)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
function int snprintf (char*, size_t, const char*, ...)
#endif
function int sprintf (char *, const char *, ...)
function int sscanf (const char*, const char*, ...)
-#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8
+#if defined XPG4 || defined XPG42 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8
function {char*} tempnam (const char*, const char*)
#endif
function {FILE*} tmpfile (void)
@@ -163,18 +163,18 @@ function int ungetc (int, FILE*)
function int vdprintf (int, const char*, va_list)
#endif
function int vfprintf (FILE*, const char*, va_list)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int vfscanf (FILE*, const char*, va_list)
#endif
function int vprintf (const char*, va_list)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int vscanf (const char*, va_list)
#endif
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
function int vsnprintf (char*, size_t, const char*, va_list)
#endif
function int vsprintf (char*, const char*, va_list)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int vsscanf (const char*, const char*, va_list)
#endif
diff --git a/conform/data/stdlib.h-data b/conform/data/stdlib.h-data
index cf839f3..d8fcccc 100644
--- a/conform/data/stdlib.h-data
+++ b/conform/data/stdlib.h-data
@@ -32,10 +32,10 @@ macro WSTOPSIG
macro WTERMSIG
#endif
-#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined UNIX98 && !defined POSIX
+#if !defined ISO && !defined XPG4 && !defined XPG42 && !defined UNIX98 && !defined POSIX
function void _Exit (int)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function long a64l (const char*)
#endif
function void abort (void)
@@ -50,7 +50,7 @@ function int at_quick_exit (void (*) (void))
function double atof (const char*)
function int atoi (const char*)
function {long int} atol (const char*)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function {long long} atoll (const char*)
#endif
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
@@ -59,32 +59,32 @@ function div_t div (int, int)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double drand48 (void)
#endif
-#if defined XPG4 || defined UNIX98 || defined XOPEN2K
+#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function {char*} ecvt (double, int, int*, int*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double erand48 (unsigned short int[3])
#endif
function void exit (int)
-#if defined XPG4 || defined UNIX98 || defined XOPEN2K
+#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function {char*} fcvt (double, int, int*, int*)
#endif
function void free (void*)
-#if defined XPG4 || defined UNIX98 || defined XOPEN2K
+#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function {char*} gcvt (double, int, char*)
#endif
function {char*} getenv (const char*)
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX
function int getsubopt (char**, char *const*, char**)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function int grantpt (int)
function {char*} initstate (unsigned int, char*, size_t)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {long int} jrand48 (unsigned short int[3])
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} l64a (long)
#endif
function {long int} labs (long int)
@@ -92,7 +92,7 @@ function {long int} labs (long int)
function void lcong48 (unsigned short int[7])
#endif
function ldiv_t ldiv (long int, long int)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function {long long} llabs (long long)
function lldiv_t lldiv (long long, long long)
#endif
@@ -106,10 +106,10 @@ function int mbtowc (wchar_t*, const char*, size_t)
#if defined XOPEN2K8 || defined POSIX2008
function {char*} mkdtemp (char*)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
function {char*} mktemp (char*)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX
function int mkstemp (char*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
@@ -122,7 +122,7 @@ function int posix_memalign (void**, size_t, size_t)
#if defined XOPEN2K || defined XOPEN2K8
function int posix_openpt (int)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} ptsname (int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
@@ -136,54 +136,54 @@ function int rand (void)
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int rand_r (unsigned int*)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function long random (void)
#endif
function {void*} realloc (void*, size_t)
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} realpath (const char*, char*)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {unsigned short int*} seed48 (unsigned short int[3])
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int setenv (const char*, const char*, int)
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function void setkey (const char*)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} setstate (char*)
#endif
function void srand (unsigned int)
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function void srand48 (long int)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function void srandom (unsigned)
#endif
function double strtod (const char*, char**)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function float strtof (const char*, char**)
function {long double} strtold (const char*, char**)
#endif
function {long int} strtol (const char*, char**, int)
function {unsigned long int} strtoul (const char*, char**, int)
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function {long long int} strtoll (const char*, char**, int)
function {unsigned long long int} strtoull (const char*, char**, int)
#endif
function int system (const char*)
-#if defined XPG4 || defined UNIX98
+#if defined XPG42 || defined UNIX98
function int ttyslot (void)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function int unlockpt (int)
#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int unsetenv (const char*)
#endif
-#if defined XPG4 || defined UNIX98
+#if defined XPG42 || defined UNIX98
function {void*} valloc (size_t)
#endif
function size_t wcstombs (char*, const wchar_t*, size_t)
diff --git a/conform/data/string.h-data b/conform/data/string.h-data
index 39fa76c..e06f941 100644
--- a/conform/data/string.h-data
+++ b/conform/data/string.h-data
@@ -27,7 +27,7 @@ function int strcoll_l (const char*, const char*, locale_t)
#endif
function {char*} strcpy (char*, const char*)
function size_t strcspn (const char*, const char*)
-#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {char*} strdup (const char*)
#endif
function {char*} strerror (int)
diff --git a/conform/data/strings.h-data b/conform/data/strings.h-data
index d22609a..13827eb 100644
--- a/conform/data/strings.h-data
+++ b/conform/data/strings.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
# if !defined XOPEN2K8 && !defined POSIX2008
function int bcmp (const void*, const void*, size_t)
function void bcopy (const void*, void*, size_t)
diff --git a/conform/data/stropts.h-data b/conform/data/stropts.h-data
index e43dac8..c4b1343 100644
--- a/conform/data/stropts.h-data
+++ b/conform/data/stropts.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
type {struct bandinfo}
element {struct bandinfo} {unsigned char} bi_pri
diff --git a/conform/data/sys/mman.h-data b/conform/data/sys/mman.h-data
index 3a88684..a743883 100644
--- a/conform/data/sys/mman.h-data
+++ b/conform/data/sys/mman.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4
constant PROT_READ
constant PROT_WRITE
constant PROT_EXEC
@@ -17,7 +17,7 @@ constant MCL_FUTURE
constant MAP_FAILED
-# if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
constant POSIX_MADV_NORMAL
constant POSIX_MADV_SEQUENTIAL
constant POSIX_MADV_RANDOM
diff --git a/conform/data/sys/resource.h-data b/conform/data/sys/resource.h-data
index 5c46dea..cedbee1 100644
--- a/conform/data/sys/resource.h-data
+++ b/conform/data/sys/resource.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
constant PRIO_PROCESS
constant PRIO_PGRP
constant PRIO_USER
diff --git a/conform/data/sys/select.h-data b/conform/data/sys/select.h-data
index 824fc2a..44d63eb 100644
--- a/conform/data/sys/select.h-data
+++ b/conform/data/sys/select.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
type time_t
type suseconds_t
@@ -14,7 +14,7 @@ element {struct timespec} time_t tv_sec
xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
type fd_set
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
element fd_set long fds_bits []
#endif
diff --git a/conform/data/sys/socket.h-data b/conform/data/sys/socket.h-data
index 7cdfec5..8796c57 100644
--- a/conform/data/sys/socket.h-data
+++ b/conform/data/sys/socket.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
type socklen_t
type sa_family_t
@@ -113,7 +113,7 @@ function int setsockopt (int, int, int, const void*, socklen_t)
function int shutdown (int, int)
function int socket (int, int, int)
function int socketpair (int, int, int, int[2])
-#if !defined XPG4 && !defined UNIX98
+#if !defined XPG42 && !defined UNIX98
function int sockatmark (int)
#endif
diff --git a/conform/data/sys/stat.h-data b/conform/data/sys/stat.h-data
index 07d55e6..84452ae 100644
--- a/conform/data/sys/stat.h-data
+++ b/conform/data/sys/stat.h-data
@@ -1,6 +1,6 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
-#if !defined POSIX && !defined POSIX2008 && !defined XPG3 && !defined XPG4
+#if !defined POSIX && !defined POSIX2008 && !defined XPG4 && !defined XPG42
type blkcnt_t
type blksize_t
#endif
@@ -46,9 +46,9 @@ element {struct stat} {struct timespec} st_atim
element {struct stat} {struct timespec} st_mtim
element {struct stat} {struct timespec} st_ctim
#endif
-#if !defined XPG3 && !defined POSIX && !defined POSIX2008
-# ifdef XPG4
-// The XPG4 use of "long" for these fields is not compatible with the
+#if !defined XPG4 && !defined POSIX && !defined POSIX2008
+# ifdef XPG42
+// The XPG42 use of "long" for these fields is not compatible with the
// use of typedefs in future standards to support values outside the
// range of "long".
xfail-element {struct stat} long st_blksize
@@ -73,7 +73,7 @@ constant S_IFCHR
constant S_IFIFO
constant S_IFREG
constant S_IFDIR
-# ifndef XPG3
+# ifndef XPG4
constant S_IFLNK
constant S_IFSOCK
# endif
@@ -93,7 +93,7 @@ constant S_IWOTH
constant S_IXOTH
constant S_ISUID
constant S_ISGID
-#if !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined XPG4 && !defined POSIX && !defined POSIX2008
constant S_ISVTX
#endif
@@ -102,7 +102,7 @@ macro S_ISCHR
macro S_ISDIR
macro S_ISFIFO
macro S_ISREG
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
macro S_ISLNK
macro S_ISSOCK
#endif
@@ -111,7 +111,7 @@ macro S_ISSOCK
optional-macro S_TYPEISMQ
optional-macro S_TYPEISSEM
optional-macro S_TYPEISSHM
-# if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
optional-macro S_TYPEISTMO
# endif
@@ -121,7 +121,7 @@ constant UTIME_OMIT
# endif
function int chmod (const char*, mode_t)
-# ifndef XPG3
+# ifndef XPG4
function int fchmod (int, mode_t)
# endif
# if defined XOPEN2K8 || defined POSIX2008
@@ -132,7 +132,7 @@ function int fstat (int, struct stat*)
function int fstatat (int, const char*, struct stat*, int)
function int futimens (int, const struct timespec[2])
# endif
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function int lstat (const char*, struct stat*)
#endif
function int mkdir (const char*, mode_t)
@@ -143,7 +143,7 @@ function int mkfifo (const char*, mode_t)
# if defined XOPEN2K8 || defined POSIX2008
function int mkfifoat (int, const char*, mode_t)
# endif
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int mknod (const char*, mode_t, dev_t)
# endif
# ifdef XOPEN2K8
diff --git a/conform/data/sys/statvfs.h-data b/conform/data/sys/statvfs.h-data
index fa56fbe..efdbff0 100644
--- a/conform/data/sys/statvfs.h-data
+++ b/conform/data/sys/statvfs.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
type {struct statvfs}
element {struct statvfs} {unsigned long} f_bsize
diff --git a/conform/data/sys/time.h-data b/conform/data/sys/time.h-data
index 1d07bd6..30523e1 100644
--- a/conform/data/sys/time.h-data
+++ b/conform/data/sys/time.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type {struct timeval}
element {struct timeval} time_t tv_sec
diff --git a/conform/data/sys/timeb.h-data b/conform/data/sys/timeb.h-data
index 08ae3c0..9638f73 100644
--- a/conform/data/sys/timeb.h-data
+++ b/conform/data/sys/timeb.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined POSIX2008 && !defined XOPEN2K8
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
type {struct timeb}
element {struct timeb} time_t time
diff --git a/conform/data/sys/types.h-data b/conform/data/sys/types.h-data
index 496ebf4..cc28eb7 100644
--- a/conform/data/sys/types.h-data
+++ b/conform/data/sys/types.h-data
@@ -1,11 +1,11 @@
#if !defined ISO && !defined ISO99 && !defined ISO11
#if !defined POSIX
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
type blkcnt_t
type blksize_t
# endif
type clock_t
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
type clockid_t
# endif
#endif
@@ -26,7 +26,7 @@ type mode_t
type nlink_t
type off_t
type pid_t
-#if !defined XPG3 && !defined XPG4
+#if !defined XPG4 && !defined XPG42
type pthread_attr_t
#if !defined POSIX && !defined UNIX98
type pthread_barrier_t
diff --git a/conform/data/sys/uio.h-data b/conform/data/sys/uio.h-data
index 06cea07..b9fc661 100644
--- a/conform/data/sys/uio.h-data
+++ b/conform/data/sys/uio.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008
type {struct iovec}
element {struct iovec} {void*} iov_base
diff --git a/conform/data/sys/un.h-data b/conform/data/sys/un.h-data
index 3bf7968..1068440 100644
--- a/conform/data/sys/un.h-data
+++ b/conform/data/sys/un.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
type {struct sockaddr_un}
element {struct sockaddr_un} sa_family_t sun_family
diff --git a/conform/data/sys/wait.h-data b/conform/data/sys/wait.h-data
index e0787e3..74a062e 100644
--- a/conform/data/sys/wait.h-data
+++ b/conform/data/sys/wait.h-data
@@ -48,7 +48,7 @@ element siginfo_t long si_band
element siginfo_t {union sigval} si_value
#endif
-#if !defined POSIX && !defined XPG3 && !defined XOPEN2K8 && !defined POSIX2008
+#if !defined POSIX && !defined XPG4 && !defined XOPEN2K8 && !defined POSIX2008
type {struct rusage}
element {struct rusage} {struct timeval} ru_utime
diff --git a/conform/data/syslog.h-data b/conform/data/syslog.h-data
index 05619cf..6604d76 100644
--- a/conform/data/syslog.h-data
+++ b/conform/data/syslog.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
constant LOG_PID
constant LOG_CONS
constant LOG_NDELAY
diff --git a/conform/data/termios.h-data b/conform/data/termios.h-data
index 778408f..9aec2f5 100644
--- a/conform/data/termios.h-data
+++ b/conform/data/termios.h-data
@@ -144,7 +144,7 @@ function int tcdrain (int)
function int tcflow (int, int)
function int tcflush (int, int)
function int tcgetattr (int, struct termios*)
-#if !defined POSIX && !defined XPG3
+#if !defined POSIX && !defined XPG4
function pid_t tcgetsid (int)
#endif
function int tcsendbreak (int, int)
diff --git a/conform/data/tgmath.h-data b/conform/data/tgmath.h-data
index 5f72502..d852adc 100644
--- a/conform/data/tgmath.h-data
+++ b/conform/data/tgmath.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
#include "math.h-data"
#include "complex.h-data"
diff --git a/conform/data/time.h-data b/conform/data/time.h-data
index ee67fcc..9c1c195 100644
--- a/conform/data/time.h-data
+++ b/conform/data/time.h-data
@@ -5,7 +5,7 @@ macro CLOCKS_PER_SEC {clock_t}
macro-int-constant TIME_UTC > 0
#endif
-#if !defined ISO && !defined ISO99 && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined ISO99 && !defined XPG4 && !defined XPG42
type {struct timespec}
element {struct timespec} time_t tv_sec
@@ -46,7 +46,7 @@ function int timespec_get (struct timespec *, int)
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
symbol CLK_TCK
# endif
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
# if !defined POSIX && !defined UNIX98
constant CLOCK_PROCESS_CPUTIME_ID
constant CLOCK_THREAD_CPUTIME_ID
@@ -73,31 +73,31 @@ type locale_t
tag {struct sigevent}
# endif
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
variable int getdate_err
# endif
function {char*} asctime_r (const struct tm*, char*)
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int clock_getcpuclockid (pid_t, clockid_t*)
#endif
-#if !defined XPG3 && !defined XPG4
+#if !defined XPG4 && !defined XPG42
function int clock_getres (clockid_t, struct timespec*)
function int clock_gettime (clockid_t, struct timespec*)
#endif
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int clock_nanosleep (clockid_t, int, const struct timespec*, struct timespec*)
#endif
-#if !defined XPG3 && !defined XPG4
+#if !defined XPG4 && !defined XPG42
function int clock_settime (clockid_t, const struct timespec*)
#endif
function {char*} ctime_r (const time_t*, char*)
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function {struct tm*} getdate (const char*)
# endif
function {struct tm*} gmtime_r (const time_t*, struct tm*)
function {struct tm*} localtime_r (const time_t*, struct tm*)
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
function int nanosleep (const struct timespec*, struct timespec*)
# endif
# if defined XOPEN2K8 || defined POSIX2008
@@ -106,7 +106,7 @@ function size_t strftime_l (char*, size_t, const char*, const struct tm*, locale
# if !defined POSIX && !defined POSIX2008
function {char*} strptime (const char*, const char*, struct tm*)
# endif
-# if !defined XPG3 && !defined XPG4
+# if !defined XPG4 && !defined XPG42
function int timer_create (clockid_t, struct sigevent*, timer_t*)
function int timer_delete (timer_t)
function int timer_gettime (timer_t, struct itimerspec*)
diff --git a/conform/data/ucontext.h-data b/conform/data/ucontext.h-data
index dc2f4cb..c1ddf19 100644
--- a/conform/data/ucontext.h-data
+++ b/conform/data/ucontext.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined POSIX2008 && !defined XOPEN2K8
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
type mcontext_t
type ucontext_t
diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data
index 3047654..ddf4f25 100644
--- a/conform/data/unistd.h-data
+++ b/conform/data/unistd.h-data
@@ -7,7 +7,7 @@
#endif
constant _POSIX_VERSION
-#if defined POSIX || defined XPG3 || defined XPG4 || defined UNIX98
+#if defined POSIX || defined XPG4 || defined XPG42 || defined UNIX98
constant _POSIX2_C_VERSION
#endif
#ifndef POSIX
@@ -375,7 +375,7 @@ constant _SC_THREAD_ROBUST_PRIO_INHERIT
constant _SC_THREAD_ROBUST_PRIO_PROTECT
#endif
-#if !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined XPG4 && !defined POSIX && !defined POSIX2008
constant F_LOCK
constant F_ULOCK
constant F_TEST
@@ -417,21 +417,21 @@ type off_t
type pid_t
#endif
-#if !defined POSIX && !defined XPG3
+#if !defined POSIX && !defined XPG4
type useconds_t
-# ifndef XPG4
+# ifndef XPG42
type intptr_t
# endif
#endif
function int access (const char*, int)
function {unsigned int} alarm (unsigned int)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function int brk (void*)
#endif
function int chdir (const char*)
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function int chroot (const char*)
#endif
function int chown (const char*, uid_t, gid_t)
@@ -440,7 +440,7 @@ function size_t confstr (int, char*, size_t)
#if !defined POSIX && !defined POSIX2008
function {char*} crypt (const char*, const char*)
#endif
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function {char*} ctermid (char*)
function {char*} cuserid (char*)
#endif
@@ -462,16 +462,16 @@ function void _exit (int)
# if defined XOPEN2K8 || defined POSIX2008
function int faccessat (int, const char*, int, int)
# endif
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function int fchown (int, uid_t, gid_t)
#endif
# if defined XOPEN2K8 || defined POSIX2008
function int fchownat (int, const char*, uid_t, gid_t, int)
# endif
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function int fchdir (int)
#endif
-#if !defined XPG3 && !defined XPG4
+#if !defined XPG4 && !defined XPG42
function int fdatasync (int)
#endif
# if defined XOPEN2K8 || defined POSIX2008
@@ -480,56 +480,56 @@ function int fexecve (int, char *const[], char *const[])
function pid_t fork (void)
function {long int} fpathconf (int, int)
function int fsync (int)
-#ifndef XPG3
+#ifndef XPG4
function int ftruncate (int, off_t)
#endif
function {char*} getcwd (char*, size_t)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function int getdtablesize (void)
#endif
function gid_t getegid (void)
function uid_t geteuid (void)
function gid_t getgid (void)
function int getgroups (int, gid_t[])
-#if !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined XPG4 && !defined POSIX && !defined POSIX2008
function long gethostid (void)
#endif
-#if !defined POSIX && !defined XPG3
+#if !defined POSIX && !defined XPG4
function int gethostname (char*, size_t)
#endif
function {char*} getlogin (void)
-#if !defined XPG3 && !defined XPG4
+#if !defined XPG4 && !defined XPG42
function int getlogin_r (char*, size_t)
#endif
function int getopt (int, char*const[], const char*)
-#if defined XPG4 || defined UNIX98
+#if defined XPG42 || defined UNIX98
function int getpagesize (void)
#endif
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
function {char*} getpass (const char*)
#endif
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function pid_t getpgid (pid_t)
#endif
function pid_t getpgrp (void)
function pid_t getpid (void)
function pid_t getppid (void)
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function pid_t getsid (pid_t)
#endif
function uid_t getuid (void)
-#if defined XPG4 || defined UNIX98 || defined XOPEN2K
+#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function {char*} getwd (char*)
#endif
function int isatty (int)
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function int lchown (const char*, uid_t, gid_t)
#endif
function int link (const char*, const char*)
# if defined XOPEN2K8 || defined POSIX2008
function int linkat (int, const char*, int, const char*, int)
# endif
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int lockf (int, int, off_t)
# endif
function off_t lseek (int, off_t, int)
@@ -539,33 +539,33 @@ function int nice (int)
function {long int} pathconf (const char*, int)
function int pause (void)
function int pipe (int[2])
-#if !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined POSIX && !defined XPG4 && !defined XPG42
function ssize_t pread (int, void*, size_t, off_t)
#endif
-#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 && !defined XPG3 && !defined XPG4
+#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 && !defined XPG4 && !defined XPG42
function int pthread_atfork (void(*)(void), void(*)(void), void(*)(void))
#endif
-#if !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined POSIX && !defined XPG4 && !defined XPG42
function ssize_t pwrite (int, const void*, size_t, off_t)
#endif
function ssize_t read (int, void*, size_t)
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function ssize_t readlink (const char*, char*, size_t)
#endif
# if defined XOPEN2K8 || defined POSIX2008
function ssize_t readlinkat (int, const char*, char*, size_t)
# endif
function int rmdir (const char*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined XPG3 && !defined POSIX && !defined POSIX2008
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined XPG4 && !defined POSIX && !defined POSIX2008
function {void*} sbrk (intptr_t)
#endif
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
function int setegid (gid_t)
function int seteuid (uid_t)
#endif
function int setgid (gid_t)
function int setpgid (pid_t, pid_t)
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function pid_t setpgrp (void)
function int setregid (gid_t, gid_t)
function int setreuid (uid_t, uid_t)
@@ -576,31 +576,31 @@ function {unsigned int} sleep (unsigned int)
# if !defined POSIX && !defined POSIX2008
function void swab (const void*, void*, ssize_t)
# endif
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function int symlink (const char*, const char*)
# endif
# if defined XOPEN2K8 || defined POSIX2008
function int symlinkat (const char*, int, const char*)
# endif
-# if !defined XPG3 && !defined POSIX && !defined POSIX2008
+# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function void sync (void)
# endif
function {long int} sysconf (int)
function pid_t tcgetpgrp (int)
function int tcsetpgrp (int, pid_t)
-#if !defined XPG3 && !defined POSIX
+#if !defined XPG4 && !defined POSIX
function int truncate (const char*, off_t)
#endif
function {char*} ttyname (int)
function int ttyname_r (int, char*, size_t)
-#if defined XPG4 || defined UNIX98 || defined XOPEN2K
+#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function useconds_t ualarm (useconds_t, useconds_t)
#endif
function int unlink (const char*)
# if defined XOPEN2K8 || defined POSIX2008
function int unlinkat (int, const char*, int)
# endif
-#if defined XPG4 || defined UNIX98 || defined XOPEN2K
+#if defined XPG42 || defined UNIX98 || defined XOPEN2K
function int usleep (useconds_t)
function pid_t vfork (void)
#endif
diff --git a/conform/data/utmpx.h-data b/conform/data/utmpx.h-data
index 80641ff..cfe2a08 100644
--- a/conform/data/utmpx.h-data
+++ b/conform/data/utmpx.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG3
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type {struct utmpx}
element {struct utmpx} char ut_user []
diff --git a/conform/data/varargs.h-data b/conform/data/varargs.h-data
index 48435fe..2366edb 100644
--- a/conform/data/varargs.h-data
+++ b/conform/data/varargs.h-data
@@ -1,4 +1,4 @@
-#if defined XPG3 || defined XPG4 || defined UNIX98
+#if defined XPG4 || defined XPG42 || defined UNIX98
macro va_alist
macro va_dcl
type va_list
diff --git a/conform/data/wchar.h-data b/conform/data/wchar.h-data
index c65ec40..0beae89 100644
--- a/conform/data/wchar.h-data
+++ b/conform/data/wchar.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
type wchar_t
type wint_t
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
diff --git a/conform/data/wctype.h-data b/conform/data/wctype.h-data
index 91638e6..944fe6e 100644
--- a/conform/data/wctype.h-data
+++ b/conform/data/wctype.h-data
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
+#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
type wint_t
type wctrans_t
type wctype_t
diff --git a/conform/list-header-symbols.pl b/conform/list-header-symbols.pl
index 8cd21d8..757fffe 100644
--- a/conform/list-header-symbols.pl
+++ b/conform/list-header-symbols.pl
@@ -40,11 +40,11 @@ $extra_syms{"ISO11"} = ["errno", "math_errhandling", "setjmp", "va_end"];
# The following lists may not be exhaustive.
$extra_syms{"POSIX"} = ["errno", "setjmp", "va_end", "environ", "sigsetjmp",
"optarg", "optind", "opterr", "optopt", "tzname"];
-$extra_syms{"XPG3"} = ["errno", "setjmp", "va_end", "environ", "signgam",
+$extra_syms{"XPG4"} = ["errno", "setjmp", "va_end", "environ", "signgam",
"loc1", "loc2", "locs", "sigsetjmp", "optarg",
"optind", "opterr", "optopt", "daylight", "timezone",
"tzname"];
-$extra_syms{"XPG4"} = ["errno", "setjmp", "va_end", "environ", "signgam",
+$extra_syms{"XPG42"} = ["errno", "setjmp", "va_end", "environ", "signgam",
"loc1", "loc2", "locs", "sigsetjmp", "optarg",
"optind", "opterr", "optopt", "daylight", "timezone",
"tzname", "getdate_err", "h_errno"];