aboutsummaryrefslogtreecommitdiff
path: root/conform
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /conform
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar.gz
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar.bz2
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.zip
Prepare for radical source tree reorganization.zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
Diffstat (limited to 'conform')
-rw-r--r--conform/GlibcConform.pm74
-rw-r--r--conform/Makefile259
-rwxr-xr-xconform/check-header-lists.sh65
-rw-r--r--conform/conformtest.pl898
-rw-r--r--conform/data/aio.h-data43
-rw-r--r--conform/data/arpa/inet.h-data31
-rw-r--r--conform/data/assert.h-data9
-rw-r--r--conform/data/complex.h-data113
-rw-r--r--conform/data/cpio.h-data26
-rw-r--r--conform/data/ctype.h-data51
-rw-r--r--conform/data/dirent.h-data34
-rw-r--r--conform/data/dlfcn.h-data14
-rw-r--r--conform/data/errno.h-data134
-rw-r--r--conform/data/fcntl.h-data134
-rw-r--r--conform/data/fenv.h-data36
-rw-r--r--conform/data/float.h-data62
-rw-r--r--conform/data/fmtmsg.h-data63
-rw-r--r--conform/data/fnmatch.h-data14
-rw-r--r--conform/data/ftw.h-data35
-rw-r--r--conform/data/glob.h-data32
-rw-r--r--conform/data/grp.h-data30
-rw-r--r--conform/data/iconv.h-data12
-rw-r--r--conform/data/inttypes.h-data177
-rw-r--r--conform/data/iso646.h-data17
-rw-r--r--conform/data/langinfo.h-data76
-rw-r--r--conform/data/libgen.h-data6
-rw-r--r--conform/data/limits.h-data200
-rw-r--r--conform/data/locale.h-data70
-rw-r--r--conform/data/math.h-data335
-rw-r--r--conform/data/monetary.h-data14
-rw-r--r--conform/data/mqueue.h-data47
-rw-r--r--conform/data/ndbm.h-data28
-rw-r--r--conform/data/net/if.h-data16
-rw-r--r--conform/data/netdb.h-data118
-rw-r--r--conform/data/netinet/in.h-data95
-rw-r--r--conform/data/netinet/tcp.h-data5
-rw-r--r--conform/data/nl_types.h-data14
-rw-r--r--conform/data/poll.h-data27
-rw-r--r--conform/data/pthread.h-data195
-rw-r--r--conform/data/pwd.h-data34
-rw-r--r--conform/data/regex.h-data45
-rw-r--r--conform/data/sched.h-data42
-rw-r--r--conform/data/search.h-data34
-rw-r--r--conform/data/semaphore.h-data32
-rw-r--r--conform/data/setjmp.h-data24
-rw-r--r--conform/data/signal.h-data313
-rw-r--r--conform/data/spawn.h-data43
-rw-r--r--conform/data/stdalign.h-data6
-rw-r--r--conform/data/stdarg.h-data14
-rw-r--r--conform/data/stdbool.h-data10
-rw-r--r--conform/data/stddef.h-data15
-rw-r--r--conform/data/stdint.h-data119
-rw-r--r--conform/data/stdio.h-data194
-rw-r--r--conform/data/stdlib.h-data202
-rw-r--r--conform/data/stdnoreturn.h-data3
-rw-r--r--conform/data/string.h-data73
-rw-r--r--conform/data/strings.h-data25
-rw-r--r--conform/data/stropts.h-data140
-rw-r--r--conform/data/sys/ipc.h-data31
-rw-r--r--conform/data/sys/mman.h-data64
-rw-r--r--conform/data/sys/msg.h-data34
-rw-r--r--conform/data/sys/resource.h-data52
-rw-r--r--conform/data/sys/select.h-data36
-rw-r--r--conform/data/sys/sem.h-data40
-rw-r--r--conform/data/sys/shm.h-data34
-rw-r--r--conform/data/sys/socket.h-data140
-rw-r--r--conform/data/sys/stat.h-data161
-rw-r--r--conform/data/sys/statvfs.h-data28
-rw-r--r--conform/data/sys/time.h-data43
-rw-r--r--conform/data/sys/timeb.h-data14
-rw-r--r--conform/data/sys/times.h-data15
-rw-r--r--conform/data/sys/types.h-data62
-rw-r--r--conform/data/sys/uio.h-data14
-rw-r--r--conform/data/sys/un.h-data8
-rw-r--r--conform/data/sys/utsname.h-data12
-rw-r--r--conform/data/sys/wait.h-data88
-rw-r--r--conform/data/syslog.h-data44
-rw-r--r--conform/data/tar.h-data33
-rw-r--r--conform/data/termios.h-data180
-rw-r--r--conform/data/tgmath.h-data66
-rw-r--r--conform/data/time.h-data135
-rw-r--r--conform/data/uchar.h-data12
-rw-r--r--conform/data/ucontext.h-data22
-rw-r--r--conform/data/ulimit.h-data9
-rw-r--r--conform/data/unistd.h-data615
-rw-r--r--conform/data/utime.h-data17
-rw-r--r--conform/data/utmpx.h-data41
-rw-r--r--conform/data/varargs.h-data10
-rw-r--r--conform/data/wchar.h-data169
-rw-r--r--conform/data/wctype.h-data68
-rw-r--r--conform/data/wordexp.h-data30
-rw-r--r--conform/linknamespace.pl237
-rw-r--r--conform/list-header-symbols.pl83
93 files changed, 0 insertions, 7624 deletions
diff --git a/conform/GlibcConform.pm b/conform/GlibcConform.pm
deleted file mode 100644
index fbe65b5cb4..0000000000
--- a/conform/GlibcConform.pm
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/perl
-
-# Shared code for glibc conformance tests.
-
-# Copyright (C) 2014-2017 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-package GlibcConform;
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(%CFLAGS list_exported_functions);
-
-# Compiler options for each standard.
-$CFLAGS{"ISO"} = "-ansi";
-$CFLAGS{"ISO99"} = "-std=c99";
-$CFLAGS{"ISO11"} = "-std=c11";
-$CFLAGS{"POSIX"} = "-D_POSIX_C_SOURCE=199506L -ansi";
-$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";
-$CFLAGS{"POSIX2008"} = "-std=c99 -D_POSIX_C_SOURCE=200809L";
-
-# Return a list of functions exported by a header, empty if an include
-# of the header does not compile.
-sub list_exported_functions {
- my ($cc, $standard, $header, $tmpdir) = @_;
- my ($cc_all) = "$cc -D_ISOMAC $CFLAGS{$standard}";
- my ($tmpfile) = "$tmpdir/list-$$.c";
- my ($auxfile) = "$tmpdir/list-$$.c.aux";
- my ($ret);
- my (%res) = ();
- open (TMPFILE, ">$tmpfile") || die ("open $tmpfile: $!\n");
- print TMPFILE "#include <$header>\n";
- close (TMPFILE) || die ("close $tmpfile: $!\n");
- $ret = system "$cc_all -c $tmpfile -o /dev/null -aux-info $auxfile > /dev/null";
- unlink ($tmpfile) || die ("unlink $tmpfile: $!\n");
- if ($ret != 0) {
- return;
- }
- open (AUXFILE, "<$auxfile") || die ("open $auxfile: $!\n");
- while (<AUXFILE>) {
- s|/\*.*?\*/||g;
- if (/^\s*$/) {
- next;
- }
- # The word before a '(' that isn't '(*' is the function name
- # before the argument list (not fully general, but sufficient for
- # -aux-info output on standard headers).
- if (/(\w+)\s*\([^*]/) {
- $res{$1} = 1;
- } else {
- die ("couldn't parse -aux-info output: $_\n");
- }
- }
- close (AUXFILE) || die ("close $auxfile: $!\n");
- unlink ($auxfile) || die ("unlink $auxfile: $!\n");
- return sort keys %res;
-}
diff --git a/conform/Makefile b/conform/Makefile
deleted file mode 100644
index 63556b5bdb..0000000000
--- a/conform/Makefile
+++ /dev/null
@@ -1,259 +0,0 @@
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-#
-# Sub-makefile for conform portion of the library.
-#
-subdir := conform
-
-include ../Makeconfig
-
-conformtest-headers-data := $(wildcard data/*.h-data) \
- $(wildcard data/*/*.h-data)
-
-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 \
- math.h setjmp.h signal.h stdarg.h stddef.h stdio.h \
- stdlib.h string.h time.h
-conformtest-headers-ISO99 := $(conformtest-headers-ISO) complex.h fenv.h \
- inttypes.h iso646.h stdbool.h stdint.h tgmath.h \
- wchar.h wctype.h
-# Missing ISO11 expectations for: stdatomic.h threads.h.
-conformtest-headers-ISO11 := $(conformtest-headers-ISO99) stdalign.h \
- stdnoreturn.h uchar.h
-conformtest-headers-POSIX := $(conformtest-headers-ISO) aio.h dirent.h \
- fcntl.h fnmatch.h glob.h grp.h mqueue.h \
- pthread.h pwd.h regex.h sched.h semaphore.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 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 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 \
- sys/uio.h sys/un.h syslog.h ucontext.h utmpx.h
-# Missing UNIX98 expectations for: inttypes.h re_comp.h regexp.h.
-# The online UNIX98 includes XCURSES, but curses.h, term.h and
-# unctrl.h are outside the scope of these tests. It also includes
-# XTI, but xti.h is outside the scope of these tests.
-conformtest-headers-UNIX98 := $(conformtest-headers-POSIX) arpa/inet.h cpio.h \
- dlfcn.h fmtmsg.h ftw.h iconv.h iso646.h \
- langinfo.h libgen.h monetary.h ndbm.h netdb.h \
- netinet/in.h nl_types.h poll.h search.h \
- strings.h stropts.h sys/ipc.h sys/msg.h \
- sys/resource.h sys/sem.h sys/shm.h sys/socket.h \
- sys/statvfs.h sys/time.h sys/timeb.h sys/uio.h \
- sys/un.h syslog.h ucontext.h ulimit.h utmpx.h \
- varargs.h wchar.h wctype.h
-# Missing XOPEN2K expectations for: trace.h.
-conformtest-headers-XOPEN2K := $(conformtest-headers-POSIX) arpa/inet.h \
- complex.h cpio.h dlfcn.h fenv.h fmtmsg.h ftw.h \
- iconv.h inttypes.h iso646.h langinfo.h \
- libgen.h monetary.h ndbm.h net/if.h netdb.h \
- netinet/in.h netinet/tcp.h nl_types.h poll.h \
- search.h spawn.h stdbool.h stdint.h strings.h \
- stropts.h sys/ipc.h sys/msg.h sys/resource.h \
- sys/select.h sys/sem.h sys/shm.h sys/socket.h \
- sys/statvfs.h sys/time.h sys/timeb.h sys/uio.h \
- sys/un.h syslog.h tgmath.h ucontext.h ulimit.h \
- utmpx.h wchar.h wctype.h
-# Missing POSIX2008 expectations for: trace.h.
-conformtest-headers-POSIX2008 := $(conformtest-headers-POSIX) arpa/inet.h \
- complex.h cpio.h dlfcn.h fenv.h iconv.h \
- inttypes.h iso646.h langinfo.h monetary.h \
- net/if.h netdb.h netinet/in.h netinet/tcp.h \
- nl_types.h poll.h spawn.h stdbool.h stdint.h \
- strings.h stropts.h sys/select.h \
- sys/socket.h sys/statvfs.h sys/un.h tgmath.h \
- wchar.h wctype.h
-# Missing XOPEN2K8 expectations for: trace.h.
-conformtest-headers-XOPEN2K8 := $(conformtest-headers-POSIX2008) fmtmsg.h \
- ftw.h libgen.h ndbm.h search.h sys/ipc.h \
- sys/msg.h sys/resource.h sys/sem.h sys/shm.h \
- sys/time.h sys/uio.h syslog.h ulimit.h utmpx.h
-
-conformtest-header-list-base := $(foreach std,$(conformtest-standards),\
- header-list-$(std).out)
-conformtest-header-list-tests := $(addprefix $(objpfx),\
- $(conformtest-header-list-base))
-tests-special += $(conformtest-header-list-tests)
-generated += $(conformtest-header-list-base)
-
-conformtest-header-base := $(foreach std,\
- $(conformtest-standards),\
- $(foreach h,\
- $(conformtest-headers-$(std)),\
- $(std)/$(h)/conform.out))
-conformtest-header-tests := $(addprefix $(objpfx),$(conformtest-header-base))
-ifneq (yes,$(fast-check))
-tests-special += $(conformtest-header-tests)
-generated += $(conformtest-header-base)
-endif
-
-linknamespace-symlists-base := $(foreach std,$(conformtest-standards),\
- symlist-$(std))
-linknamespace-symlists-tests := $(addprefix $(objpfx),\
- $(linknamespace-symlists-base))
-tests-special += $(linknamespace-symlists-tests)
-
-linknamespace-symlist-stdlibs-base := $(foreach std,$(conformtest-standards),\
- symlist-stdlibs-$(std))
-linknamespace-symlist-stdlibs-tests := \
- $(addprefix $(objpfx),\
- $(linknamespace-symlist-stdlibs-base))
-
-tests-special += $(linknamespace-symlist-stdlibs-tests)
-
-linknamespace-header-base := $(foreach std,\
- $(conformtest-standards),\
- $(foreach h,\
- $(conformtest-headers-$(std)),\
- $(std)/$(h)/linknamespace.out))
-linknamespace-header-tests := $(addprefix $(objpfx),\
- $(linknamespace-header-base))
-tests-special += $(linknamespace-header-tests)
-
-include ../Rules
-
-$(conformtest-header-list-tests): $(objpfx)header-list-%.out: \
- check-header-lists.sh \
- $(conformtest-headers-data)
- $(SHELL) $< "$*" "$(CC)" "$(strip $(conformtest-headers-$*))" \
- "$(conformtest-headers-data)" > $@; \
- $(evaluate-test)
-
-# Pre-standard C feature no longer supported by GCC (obsoleted in
-# newer POSIX standards).
-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-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-XPG4/signal.h/conform = yes
-test-xfail-XPG4/sys/wait.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/signal.h/conform = yes
-test-xfail-UNIX98/sys/wait.h/conform = yes
-test-xfail-UNIX98/ucontext.h/conform = yes
-test-xfail-XOPEN2K/signal.h/conform = yes
-test-xfail-XOPEN2K/sys/wait.h/conform = yes
-test-xfail-XOPEN2K/ucontext.h/conform = yes
-test-xfail-POSIX2008/signal.h/conform = yes
-test-xfail-POSIX2008/sys/wait.h/conform = yes
-test-xfail-XOPEN2K8/signal.h/conform = yes
-test-xfail-XOPEN2K8/sys/wait.h/conform = yes
-
-conformtest-cc-flags = -I../include $(+sysdep-includes) $(sysincludes) -I..
-# conformtest-xfail-conds may be set by a sysdeps Makefile fragment to
-# a list of conditions that are considered to be true when encountered
-# in xfail[cond]- lines in test expectations.
-conformtest-xfail = $(if $(conformtest-xfail-conds),\
- --xfail='$(conformtest-xfail-conds)')
-ifeq (no,$(cross-compiling))
-conformtest-cross =
-else
-conformtest-cross = --cross
-endif
-$(conformtest-header-tests): $(objpfx)%/conform.out: \
- conformtest.pl $(conformtest-headers-data)
- (set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \
- mkdir -p $(@D)/scratch; \
- $(PERL) -I. conformtest.pl --tmpdir=$(@D)/scratch --cc='$(CC)' \
- --flags='$(conformtest-cc-flags)' --standard=$$std \
- --headers=$$hdr $(conformtest-xfail) $(conformtest-cross) \
- > $@); \
- $(evaluate-test)
-
-$(linknamespace-symlists-tests): $(objpfx)symlist-%: list-header-symbols.pl
- $(PERL) -I. -w $< --tmpdir=$(objpfx) --cc='$(CC)' \
- --flags='$(conformtest-cc-flags)' --standard=$* \
- --headers="$(strip $(conformtest-headers-$*))" \
- > $@ 2> $@.err; \
- $(evaluate-test)
-
-linknamespace-libs-isoc = $(common-objpfx)libc.a $(common-objpfx)math/libm.a
-linknamespace-libs-thr = $(linknamespace-libs-isoc) \
- $(common-objpfx)rt/librt.a $(static-thread-library)
-linknamespace-libs-posix = $(linknamespace-libs-thr) \
- $(common-objpfx)dlfcn/libdl.a
-linknamespace-libs-xsi = $(linknamespace-libs-posix) \
- $(common-objpfx)crypt/libcrypt.a
-linknamespace-libs-ISO = $(linknamespace-libs-isoc)
-linknamespace-libs-ISO99 = $(linknamespace-libs-isoc)
-linknamespace-libs-ISO11 = $(linknamespace-libs-isoc)
-linknamespace-libs-XPG4 = $(linknamespace-libs-isoc) \
- $(common-objpfx)crypt/libcrypt.a
-linknamespace-libs-XPG42 = $(linknamespace-libs-XPG4)
-linknamespace-libs-POSIX = $(linknamespace-libs-thr)
-linknamespace-libs-UNIX98 = $(linknamespace-libs-xsi)
-linknamespace-libs-XOPEN2K = $(linknamespace-libs-xsi)
-linknamespace-libs-POSIX2008 = $(linknamespace-libs-posix)
-linknamespace-libs-XOPEN2K8 = $(linknamespace-libs-xsi)
-linknamespace-libs = $(foreach std,$(conformtest-standards),\
- $(linknamespace-libs-$(std)))
-
-$(linknamespace-symlist-stdlibs-tests): $(objpfx)symlist-stdlibs-%: \
- $(linknamespace-libs)
- LC_ALL=C $(READELF) -W -s $(linknamespace-libs-$*) > $@; \
- $(evaluate-test)
-
-$(linknamespace-header-tests): $(objpfx)%/linknamespace.out: \
- linknamespace.pl \
- $(linknamespace-symlists-tests) \
- $(linknamespace-symlist-stdlibs-tests)
- (set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \
- mkdir -p $(@D)/scratch; \
- $(PERL) -I. -w $< --tmpdir=$(@D)/scratch --cc='$(CC)' \
- --flags='$(conformtest-cc-flags)' --standard=$$std \
- --stdsyms=$(objpfx)symlist-$$std --header=$$hdr \
- --libsyms=$(objpfx)symlist-stdlibs-$$std \
- --readelf='$(READELF)' \
- > $@ 2>&1); \
- $(evaluate-test)
-
-# Pre-standard C feature no longer supported by GCC (obsoleted in
-# newer POSIX standards).
-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-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/check-header-lists.sh b/conform/check-header-lists.sh
deleted file mode 100755
index b89fcc9316..0000000000
--- a/conform/check-header-lists.sh
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/sh
-# Check the set of headers with conformtest expectations for a given standard.
-# Copyright (C) 2014-2017 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-set -e
-
-std=$1
-CC=$2
-expected_list=$3
-all_data_files=$4
-
-new_list=
-
-for f in $all_data_files; do
- h=${f#data/}
- h=${h%-data}
- exp=$($CC -D$std -x c -E $f | sed -e '/^#/d' -e '/^[ ]*$/d')
- if [ "$exp" ]; then
- new_list="$new_list $h"
- fi
-done
-
-echo "Headers with expectations for $std: $new_list"
-echo "Expected list: $expected_list"
-
-rc=0
-
-for h in $expected_list; do
- case " $new_list " in
- (*" $h "*)
- ;;
- (*)
- echo "Missing expectations for $h."
- rc=1
- ;;
- esac
-done
-
-for h in $new_list; do
- case " $expected_list " in
- (*" $h "*)
- ;;
- (*)
- echo "Spurious expectations for $h."
- rc=1
- ;;
- esac
-done
-
-exit $rc
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
deleted file mode 100644
index cb500f0e76..0000000000
--- a/conform/conformtest.pl
+++ /dev/null
@@ -1,898 +0,0 @@
-#!/usr/bin/perl
-
-use GlibcConform;
-use Getopt::Long;
-use POSIX;
-
-$standard = "XOPEN2K8";
-$CC = "gcc";
-$tmpdir = "/tmp";
-$cross = "";
-$xfail_str = "";
-GetOptions ('headers=s' => \@headers, 'standard=s' => \$standard,
- 'flags=s' => \$flags, 'cc=s' => \$CC, 'tmpdir=s' => \$tmpdir,
- 'cross' => \$cross, 'xfail=s' => \$xfail_str);
-@headers = split(/,/,join(',',@headers));
-
-# List of the headers we are testing.
-if (@headers == ()) {
- @headers = ("wordexp.h", "wctype.h", "wchar.h", "varargs.h", "utmpx.h",
- "utime.h", "unistd.h", "ulimit.h", "ucontext.h", "uchar.h",
- "time.h", "tgmath.h", "termios.h", "tar.h", "sys/wait.h",
- "sys/utsname.h", "sys/un.h", "sys/uio.h", "sys/types.h",
- "sys/times.h", "sys/timeb.h", "sys/time.h", "sys/statvfs.h",
- "sys/stat.h", "sys/socket.h", "sys/shm.h", "sys/sem.h",
- "sys/select.h", "sys/resource.h", "sys/msg.h", "sys/mman.h",
- "sys/ipc.h", "syslog.h", "stropts.h", "strings.h", "string.h",
- "stdnoreturn.h", "stdlib.h", "stdio.h", "stdint.h", "stddef.h",
- "stdbool.h", "stdarg.h", "stdalign.h", "spawn.h", "signal.h",
- "setjmp.h", "semaphore.h", "search.h", "sched.h", "regex.h",
- "pwd.h", "pthread.h", "poll.h", "nl_types.h", "netinet/tcp.h",
- "netinet/in.h", "net/if.h", "netdb.h", "ndbm.h", "mqueue.h",
- "monetary.h", "math.h", "locale.h", "libgen.h", "limits.h",
- "langinfo.h", "iso646.h", "inttypes.h", "iconv.h", "grp.h",
- "glob.h", "ftw.h", "fnmatch.h", "fmtmsg.h", "float.h", "fenv.h",
- "fcntl.h", "errno.h", "dlfcn.h", "dirent.h", "ctype.h", "cpio.h",
- "complex.h", "assert.h", "arpa/inet.h", "aio.h");
-}
-
-$CFLAGS_namespace = "$flags -fno-builtin $CFLAGS{$standard} -D_ISOMAC";
-$CFLAGS = "$CFLAGS_namespace '-D__attribute__(x)='";
-
-# Check standard name for validity.
-die "unknown standard \"$standard\"" if ($CFLAGS{$standard} eq "");
-
-# if ($standard ne "XOPEN2K8" && $standard ne "POSIX2008") {
-# # Some headers need a bit more attention. At least with XPG7
-# # all headers should be self-contained.
-# $mustprepend{'inttypes.h'} = "#include <stddef.h>\n";
-# $mustprepend{'glob.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'grp.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'regex.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'pwd.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'sched.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'signal.h'} = "#include <pthread.h>\n#include <sys/types.h>\n";
-# $mustprepend{'stdio.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'sys/stat.h'} = "#include <sys/types.h>\n";
-# $mustprepend{'wchar.h'} = "#include <stdarg.h>\n";
-# $mustprepend{'wordexp.h'} = "#include <stddef.h>\n";
-# }
-
-# These are the ISO C90 keywords.
-@keywords = ('auto', 'break', 'case', 'char', 'const', 'continue', 'default',
- 'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto',
- 'if', 'int', 'long', 'register', 'return',
- 'short', 'signed', 'sizeof', 'static', 'struct', 'switch',
- 'typedef', 'union', 'unsigned', 'void', 'volatile', 'while');
-if ($CFLAGS{$standard} =~ /-std=(c99|c1x)/) {
- push (@keywords, 'inline', 'restrict');
-}
-
-# Make a hash table from this information.
-while ($#keywords >= 0) {
- $iskeyword{pop (@keywords)} = 1;
-}
-
-$verbose = 1;
-
-$total = 0;
-$skipped = 0;
-$errors = 0;
-$xerrors = 0;
-
-sub note_error {
- my($xfail) = @_;
- if ($xfail) {
- $xerrors++;
- printf ("Ignoring this failure.\n");
- } else {
- $errors++;
- }
-}
-
-
-sub poorfnmatch {
- my($pattern, $string) = @_;
- my($strlen) = length ($string);
- my($res);
-
- if (substr ($pattern, 0, 1) eq '*') {
- my($patlen) = length ($pattern) - 1;
- $res = ($strlen >= $patlen
- && substr ($pattern, -$patlen, $patlen) eq substr ($string, -$patlen, $patlen));
- } elsif (substr ($pattern, -1, 1) eq '*') {
- if (substr ($pattern, -2, 1) eq ']') {
- my($patlen) = index ($pattern, '[');
- my($range) = substr ($pattern, $patlen + 1, -2);
- $res = ($strlen > $patlen
- && substr ($pattern, 0, $patlen) eq substr ($string, 0, $patlen)
- && index ($range, substr ($string, $patlen, 1)) != -1);
- } else {
- my($patlen) = length ($pattern) - 1;
- $res = ($strlen >= $patlen
- && substr ($pattern, 0, $patlen) eq substr ($string, 0, $patlen));
- }
- } else {
- $res = $pattern eq $string;
- }
- return $res;
-}
-
-
-sub compiletest
-{
- my($fnamebase, $msg, $errmsg, $skip, $optional, $xfail) = @_;
- my($result) = $skip;
- my($printlog) = 0;
-
- ++$total;
- printf (" $msg...");
-
- if ($skip != 0) {
- ++$skipped;
- printf (" SKIP\n");
- } else {
- $ret = system "$CC $CFLAGS -c $fnamebase.c -o $fnamebase.o > $fnamebase.out 2>&1";
- if ($ret != 0) {
- if ($optional != 0) {
- printf (" $errmsg\n");
- $result = 1;
- } else {
- printf (" FAIL\n");
- if ($verbose != 0) {
- printf (" $errmsg Compiler message:\n");
- $printlog = 1;
- }
- note_error($xfail);
- $result = 1;
- }
- } else {
- printf (" OK\n");
- if ($verbose > 1 && -s "$fnamebase.out") {
- # We print all warnings issued.
- $printlog = 1;
- }
- }
- if ($printlog != 0) {
- printf (" " . "-" x 71 . "\n");
- open (MESSAGE, "< $fnamebase.out");
- while (<MESSAGE>) {
- printf (" %s", $_);
- }
- close (MESSAGE);
- printf (" " . "-" x 71 . "\n");
- }
- }
- unlink "$fnamebase.c";
- unlink "$fnamebase.o";
- unlink "$fnamebase.out";
-
- $result;
-}
-
-
-sub runtest
-{
- my($fnamebase, $msg, $errmsg, $skip, $xfail) = @_;
- my($result) = $skip;
- my($printlog) = 0;
-
- ++$total;
- printf (" $msg...");
-
- if ($skip != 0) {
- ++$skipped;
- printf (" SKIP\n");
- } else {
- $ret = system "$CC $CFLAGS -o $fnamebase $fnamebase.c > $fnamebase.out 2>&1";
- if ($ret != 0) {
- printf (" FAIL\n");
- if ($verbose != 0) {
- printf (" $errmsg Compiler message:\n");
- $printlog = 1;
- }
- note_error($xfail);
- $result = 1;
- } elsif ($cross) {
- printf (" SKIP\n");
- } else {
- # Now run the program. If the exit code is not zero something is wrong.
- $result = system "$fnamebase > $fnamebase.out2 2>&1";
- if ($result == 0) {
- printf (" OK\n");
- if ($verbose > 1 && -s "$fnamebase.out") {
- # We print all warnings issued.
- $printlog = 1;
- system "cat $fnamebase.out2 >> $fnamebase.out";
- }
- } else {
- printf (" FAIL\n");
- note_error($xfail);
- $printlog = 1;
- unlink "$fnamebase.out";
- rename "$fnamebase.out2", "$fnamebase.out";
- }
- }
- if ($printlog != 0) {
- printf (" " . "-" x 71 . "\n");
- open (MESSAGE, "< $fnamebase.out");
- while (<MESSAGE>) {
- printf (" %s", $_);
- }
- close (MESSAGE);
- printf (" " . "-" x 71 . "\n");
- }
- }
- unlink "$fnamebase";
- unlink "$fnamebase.c";
- unlink "$fnamebase.o";
- unlink "$fnamebase.out";
- unlink "$fnamebase.out2";
-
- $result;
-}
-
-
-sub newtoken {
- my($token, @allow) = @_;
- my($idx);
-
- return if ($token =~ /^[0-9_]/ || $iskeyword{$token});
-
- for ($idx = 0; $idx <= $#allow; ++$idx) {
- return if (poorfnmatch ($allow[$idx], $token));
- }
-
- $errors{$token} = 1;
-}
-
-
-sub removetoken {
- my($token) = @_;
- my($idx);
-
- return if ($token =~ /^[0-9_]/ || $iskeyword{$token});
-
- if (exists $errors{$token}) {
- undef $errors{$token};
- }
-}
-
-
-sub checknamespace {
- my($h, $fnamebase, @allow) = @_;
-
- ++$total;
-
- # Generate a program to get the contents of this header.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "#include <$h>\n";
- close (TESTFILE);
-
- undef %errors;
- open (CONTENT, "$CC $CFLAGS_namespace -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |");
- loop: while (<CONTENT>) {
- chop;
- if (/^#define (.*)/) {
- newtoken ($1, @allow);
- } elsif (/^#undef (.*)/) {
- removetoken ($1);
- } else {
- # We have to tokenize the line.
- my($str) = $_;
-
- $str =~ s/"[^"]*"//g;
- foreach $token (split(/[^a-zA-Z0-9_]/, $str)) {
- if ($token ne "") {
- newtoken ($token, @allow);
- }
- }
- }
- }
- close (CONTENT);
- unlink "$fnamebase.c";
- $realerror = 0;
- if ($#errors != 0) {
- # Sort the output list so it's easier to compare results with diff.
- foreach $f (sort keys(%errors)) {
- if ($errors{$f} == 1) {
- if ($realerror == 0) {
- printf ("FAIL\n " . "-" x 72 . "\n");
- $realerror = 1;
- ++$errors;
- }
- printf (" Namespace violation: \"%s\"\n", $f);
- }
- }
- printf (" " . "-" x 72 . "\n") if ($realerror != 0);
- }
-
- if ($realerror == 0) {
- printf ("OK\n");
- }
-}
-
-
-while ($#headers >= 0) {
- my($h) = pop (@headers);
- my($hf) = $h;
- $hf =~ s|/|-|;
- my($fnamebase) = "$tmpdir/$hf-test";
- my($missing) = 1;
- my(@allow) = ();
- my(@allowheader) = ();
- my(%seenheader) = ();
- my($prepend) = $mustprepend{$h};
- my($test_exist) = 1;
-
- printf ("Testing <$h>\n");
- printf ("----------" . "-" x length ($h) . "\n");
-
- open (CONTROL, "$CC -E -D$standard -std=c99 -x c data/$h-data |");
- control: while (<CONTROL>) {
- chop;
- next control if (/^#/);
- next control if (/^[ ]*$/);
-
- if ($test_exist) {
- $test_exist = 0;
- # Generate a program to test for the availability of this header.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- close (TESTFILE);
-
- $missing = compiletest ($fnamebase, "Checking whether <$h> is available",
- "Header <$h> not available", 0, 0, 0);
- printf ("\n");
- last control if ($missing);
- }
-
- my($xfail) = 0;
- if (/^xfail-/) {
- s/^xfail-//;
- $xfail = 1;
- } elsif (/^xfail\[([^\]]*)\]-/) {
- my($xfail_cond) = $1;
- s/^xfail\[([^\]]*)\]-//;
- # "xfail[cond]-" or "xfail[cond1|cond2|...]-" means a failure of
- # the test is allowed if any of the listed conditions are in the
- # --xfail command-line option argument.
- if ($xfail_str =~ /\b($xfail_cond)\b/) {
- $xfail = 1;
- }
- }
- my($optional) = 0;
- if (/^optional-/) {
- s/^optional-//;
- $optional = 1;
- }
- if (/^element *({([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
- my($struct) = "$2$3";
- my($type) = "$5$6";
- my($member) = "$7";
- my($rest) = "$8";
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $member;
-
- # Generate a program to test for the availability of this member.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "$struct a;\n";
- print TESTFILE "$struct b;\n";
- print TESTFILE "extern void xyzzy (__typeof__ (&b.$member), __typeof__ (&a.$member), unsigned);\n";
- print TESTFILE "void foobarbaz (void) {\n";
- print TESTFILE " xyzzy (&a.$member, &b.$member, sizeof (a.$member));\n";
- print TESTFILE "}\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Testing for member $member",
- ($optional
- ? "NOT AVAILABLE."
- : "Member \"$member\" not available."), $res,
- $optional, $xfail);
-
- if ($res == 0 || $missing != 0 || !$optional) {
- # Test the types of the members.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "$struct a;\n";
- print TESTFILE "extern $type b$rest;\n";
- print TESTFILE "extern __typeof__ (a.$member) b;\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Testing for type of member $member",
- "Member \"$member\" does not have the correct type.",
- $res, 0, $xfail);
- }
- } 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;
- my($op) = $4;
- my($value) = $5;
- my($res) = $missing;
- my($mres) = $missing;
- my($cres) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $symbol;
-
- if ($symbol_type =~ /macro/) {
- # Generate a program to test for availability of this macro.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "#ifndef $symbol\n";
- print TESTFILE "# error \"Macro $symbol not defined\"\n";
- print TESTFILE "#endif\n";
- close (TESTFILE);
-
- $mres = compiletest ($fnamebase, "Test availability of macro $symbol",
- ($optional
- ? "NOT PRESENT"
- : "Macro \"$symbol\" is not available."), $res,
- $optional, $xfail);
- }
-
- if ($symbol_type =~ /constant/) {
- # Generate a program to test for the availability of this constant.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "__typeof__ ($symbol) a = $symbol;\n";
- close (TESTFILE);
-
- $cres = compiletest ($fnamebase, "Testing for constant $symbol",
- ($optional
- ? "NOT PRESENT"
- : "Constant \"$symbol\" not available."), $res,
- $optional, $xfail);
- }
-
- $res = $res || $mres || $cres;
-
- if ($symbol_type eq "macro-int-constant" && ($res == 0 || !$optional)) {
- # Test that the symbol is usable in #if.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "#if $symbol < 0\n";
- print TESTFILE "# define conformtest_negative 1\n";
- my($s) = "0";
- for (my $i = 0; $i < 63; $i++) {
- print TESTFILE "# if $symbol & (1LL << $i)\n";
- print TESTFILE "# define conformtest_bit_$i 0LL\n";
- print TESTFILE "# else\n";
- print TESTFILE "# define conformtest_bit_$i (1LL << $i)\n";
- print TESTFILE "# endif\n";
- $s .= "|conformtest_bit_$i";
- }
- print TESTFILE "# define conformtest_value ~($s)\n";
- print TESTFILE "#else\n";
- print TESTFILE "# define conformtest_negative 0\n";
- $s = "0";
- for (my $i = 0; $i < 64; $i++) {
- print TESTFILE "# if $symbol & (1ULL << $i)\n";
- print TESTFILE "# define conformtest_bit_$i (1ULL << $i)\n";
- print TESTFILE "# else\n";
- print TESTFILE "# define conformtest_bit_$i 0ULL\n";
- print TESTFILE "# endif\n";
- $s .= "|conformtest_bit_$i";
- }
- print TESTFILE "# define conformtest_value ($s)\n";
- print TESTFILE "#endif\n";
- print TESTFILE "_Static_assert ((($symbol < 0) == conformtest_negative) && ($symbol == conformtest_value), \"value match inside and outside #if\");\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Testing for #if usability of symbol $symbol",
- "Symbol \"$symbol\" not usable in #if.", $res, 0, $xfail);
- }
-
- if (defined ($type) && ($res == 0 || !$optional)) {
- # Test the type of the symbol.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- if ($type =~ /^promoted:/) {
- $type =~ s/^promoted://;
- print TESTFILE "__typeof__ (($type) 0 + ($type) 0) a;\n";
- } else {
- print TESTFILE "__typeof__ (($type) 0) a;\n";
- }
- print TESTFILE "extern __typeof__ ($symbol) a;\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Testing for type of symbol $symbol",
- "Symbol \"$symbol\" does not have the correct type.",
- $res, 0, $xfail);
- }
-
- if (defined ($op) && ($res == 0 || !$optional)) {
- # Generate a program to test for the value of this symbol.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "_Static_assert ($symbol $op $value, \"value constraint\");\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Testing for value of symbol $symbol",
- "Symbol \"$symbol\" has not the right value.",
- $res, 0, $xfail);
- }
- } elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
- my($symbol) = $1;
- my($value) = $2;
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $symbol;
-
- # Generate a program to test for the availability of this constant.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "void foobarbaz (void) {\n";
- print TESTFILE "__typeof__ ($symbol) a = $symbol;\n";
- print TESTFILE "}\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Testing for symbol $symbol",
- "Symbol \"$symbol\" not available.", $res, 0, $xfail);
-
- if ($value ne "") {
- # Generate a program to test for the value of this constant.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "int main (void) { return $symbol != $value; }\n";
- close (TESTFILE);
-
- $res = runtest ($fnamebase, "Testing for value of symbol $symbol",
- "Symbol \"$symbol\" has not the right value.", $res,
- $xfail);
- }
- } elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) {
- my($type) = "$2$3";
- my($maybe_opaque) = 0;
-
- # Remember that this name is allowed.
- if ($type =~ /^struct *(.*)/) {
- push @allow, $1;
- } elsif ($type =~ /^union *(.*)/) {
- push @allow, $1;
- } else {
- push @allow, $type;
- $maybe_opaque = 1;
- }
-
- # Generate a program to test for the availability of this type.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- if ($maybe_opaque == 1) {
- print TESTFILE "$type *a;\n";
- } else {
- print TESTFILE "$type a;\n";
- }
- close (TESTFILE);
-
- compiletest ($fnamebase, "Testing for type $type",
- ($optional
- ? "NOT AVAILABLE"
- : "Type \"$type\" not available."), $missing, $optional,
- $xfail);
- } elsif (/^tag *({([^}]*)|([a-zA-Z0-9_]*))/) {
- my($type) = "$2$3";
-
- # Remember that this name is allowed.
- if ($type =~ /^struct *(.*)/) {
- push @allow, $1;
- } elsif ($type =~ /^union *(.*)/) {
- push @allow, $1;
- } else {
- push @allow, $type;
- }
-
- # Generate a program to test for the availability of this type.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "$type;\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Testing for type $type",
- "Type \"$type\" not available.", $missing, 0, $xfail);
- } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
- my($rettype) = "$2$3";
- my($fname) = "$4";
- my($args) = "$5";
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $fname;
-
- # Generate a program to test for availability of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # print TESTFILE "#undef $fname\n";
- print TESTFILE "$rettype (*(*foobarbaz) $args = $fname;\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Test availability of function $fname",
- ($optional
- ? "NOT AVAILABLE"
- : "Function \"$fname\" is not available."), $res,
- $optional, $xfail);
-
- if ($res == 0 || $missing == 1 || !$optional) {
- # Generate a program to test for the type of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # print TESTFILE "#undef $fname\n";
- print TESTFILE "extern $rettype (*(*foobarbaz) $args;\n";
- print TESTFILE "extern __typeof__ (&$fname) foobarbaz;\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Test for type of function $fname",
- "Function \"$fname\" has incorrect type.", $res, 0,
- $xfail);
- }
- } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
- my($rettype) = "$2$3";
- my($fname) = "$4";
- my($args) = "$5";
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $fname;
-
- # Generate a program to test for availability of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # print TESTFILE "#undef $fname\n";
- print TESTFILE "$rettype (*foobarbaz) $args = $fname;\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Test availability of function $fname",
- ($optional
- ? "NOT AVAILABLE"
- : "Function \"$fname\" is not available."), $res,
- $optional, $xfail);
-
- if ($res == 0 || $missing != 0 || !$optional) {
- # Generate a program to test for the type of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # print TESTFILE "#undef $fname\n";
- print TESTFILE "extern $rettype (*foobarbaz) $args;\n";
- print TESTFILE "extern __typeof__ (&$fname) foobarbaz;\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Test for type of function $fname",
- "Function \"$fname\" has incorrect type.", $res, 0,
- $xfail);
- }
- } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) *(.*)/) {
- my($type) = "$2$3";
- my($vname) = "$4";
- my($rest) = "$5";
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $vname;
-
- # Generate a program to test for availability of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # print TESTFILE "#undef $fname\n";
- print TESTFILE "typedef $type xyzzy$rest;\n";
- print TESTFILE "$xyzzy *foobarbaz = &$vname;\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Test availability of variable $vname",
- "Variable \"$vname\" is not available.", $res, 0,
- $xfail);
-
- # Generate a program to test for the type of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # print TESTFILE "#undef $fname\n";
- print TESTFILE "extern $type $vname$rest;\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Test for type of variable $fname",
- "Variable \"$vname\" has incorrect type.", $res, 0, $xfail);
- } elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
- my($rettype) = "$2$3";
- my($fname) = "$4";
- my($args) = "$5";
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $fname;
-
- # Generate a program to test for availability of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "#ifndef $fname\n";
- print TESTFILE "$rettype (*foobarbaz) $args = $fname;\n";
- print TESTFILE "#endif\n";
- close (TESTFILE);
-
- $res = compiletest ($fnamebase, "Test availability of macro $fname",
- "Function \"$fname\" is not available.", $res, 0,
- $xfail);
-
- # Generate a program to test for the type of this function.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "#ifndef $fname\n";
- print TESTFILE "extern $rettype (*foobarbaz) $args;\n";
- print TESTFILE "extern __typeof__ (&$fname) foobarbaz;\n";
- print TESTFILE "#endif\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Test for type of macro $fname",
- "Function \"$fname\" has incorrect type.", $res, 0, $xfail);
- } elsif (/^macro-str *([^ ]*) *(\".*\")/) {
- # The above regex doesn't handle a \" in a string.
- my($macro) = "$1";
- my($string) = "$2";
- my($res) = $missing;
-
- # Remember that this name is allowed.
- push @allow, $macro;
-
- # Generate a program to test for availability of this macro.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- print TESTFILE "#ifndef $macro\n";
- print TESTFILE "# error \"Macro $macro not defined\"\n";
- print TESTFILE "#endif\n";
- close (TESTFILE);
-
- compiletest ($fnamebase, "Test availability of macro $macro",
- "Macro \"$macro\" is not available.", $missing, 0, $xfail);
-
- # Generate a program to test for the value of this macro.
- open (TESTFILE, ">$fnamebase.c");
- print TESTFILE "$prepend";
- print TESTFILE "#include <$h>\n";
- # We can't include <string.h> here.
- print TESTFILE "extern int (strcmp)(const char *, const char *);\n";
- print TESTFILE "int main (void) { return (strcmp) ($macro, $string) != 0;}\n";
- close (TESTFILE);
-
- $res = runtest ($fnamebase, "Testing for value of macro $macro",
- "Macro \"$macro\" has not the right value.", $res,
- $xfail);
- } elsif (/^allow-header *(.*)/) {
- my($pattern) = $1;
- if ($seenheader{$pattern} != 1) {
- push @allowheader, $pattern;
- $seenheader{$pattern} = 1;
- }
- next control;
- } elsif (/^allow *(.*)/) {
- my($pattern) = $1;
- push @allow, $pattern;
- next control;
- } else {
- # printf ("line is `%s'\n", $_);
- next control;
- }
-
- printf ("\n");
- }
- close (CONTROL);
-
- # Read the data files for the header files which are allowed to be included.
- while ($#allowheader >= 0) {
- my($ah) = pop @allowheader;
-
- open (ALLOW, "$CC -E -D$standard -x c data/$ah-data |");
- acontrol: while (<ALLOW>) {
- chop;
- next acontrol if (/^#/);
- next acontrol if (/^[ ]*$/);
-
- s/^xfail(\[([^\]]*)\])?-//;
- s/^optional-//;
- if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
- push @allow, $7;
- } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) {
- push @allow, $2;
- } elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) {
- my($type) = "$3$4";
-
- # Remember that this name is allowed.
- if ($type =~ /^struct *(.*)/) {
- push @allow, $1;
- } elsif ($type =~ /^union *(.*)/) {
- push @allow, $1;
- } else {
- push @allow, $type;
- }
- } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
- push @allow, $4;
- } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
- push @allow, $4;
- } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) {
- push @allow, $4;
- } elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
- push @allow, $4;
- } elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
- push @allow, $1;
- } elsif (/^allow-header *(.*)/) {
- if ($seenheader{$1} != 1) {
- push @allowheader, $1;
- $seenheader{$1} = 1;
- }
- } elsif (/^allow *(.*)/) {
- push @allow, $1;
- }
- }
- close (ALLOW);
- }
-
- if ($test_exist) {
- printf (" Not defined\n");
- } else {
- # Now check the namespace.
- printf (" Checking the namespace of \"%s\"... ", $h);
- if ($missing) {
- ++$skipped;
- printf ("SKIP\n");
- } else {
- checknamespace ($h, $fnamebase, @allow);
- }
- }
-
- printf ("\n\n");
-}
-
-printf "-" x 76 . "\n";
-printf (" Total number of tests : %4d\n", $total);
-
-printf (" Number of failed tests : %4d (", $errors);
-$percent = ($errors * 100) / $total;
-if ($errors > 0 && $percent < 1.0) {
- printf (" <1%%)\n");
-} else {
- printf ("%3d%%)\n", $percent);
-}
-
-printf (" Number of xfailed tests : %4d (", $xerrors);
-$percent = ($xerrors * 100) / $total;
-if ($xerrors > 0 && $percent < 1.0) {
- printf (" <1%%)\n");
-} else {
- printf ("%3d%%)\n", $percent);
-}
-
-printf (" Number of skipped tests : %4d (", $skipped);
-$percent = ($skipped * 100) / $total;
-if ($skipped > 0 && $percent < 1.0) {
- printf (" <1%%)\n");
-} else {
- printf ("%3d%%)\n", $percent);
-}
-
-exit $errors != 0;
-# Local Variables:
-# perl-indent-level: 2
-# End:
diff --git a/conform/data/aio.h-data b/conform/data/aio.h-data
deleted file mode 100644
index adb291b6e1..0000000000
--- a/conform/data/aio.h-data
+++ /dev/null
@@ -1,43 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
-type {struct aiocb}
-
-// Test elements of the AIO control struct.
-element {struct aiocb} int aio_fildes
-element {struct aiocb} off_t aio_offset
-element {struct aiocb} {volatile void*} aio_buf
-element {struct aiocb} size_t aio_nbytes
-element {struct aiocb} int aio_reqprio
-element {struct aiocb} {struct sigevent} aio_sigevent
-element {struct aiocb} int aio_lio_opcode
-
-constant AIO_CANCELED
-constant AIO_NOTCANCELED
-constant AIO_ALLDONE
-constant LIO_WAIT
-constant LIO_NOWAIT
-constant LIO_READ
-constant LIO_WRITE
-constant LIO_NOP
-
-function int aio_cancel (int, struct aiocb*)
-function int aio_error (const struct aiocb*)
-function int aio_fsync (int, struct aiocb*)
-function int aio_read (struct aiocb*)
-function ssize_t aio_return (struct aiocb*)
-function int aio_suspend (const struct aiocb* const[], int, const struct timespec*)
-function int aio_write (struct aiocb*)
-function int lio_listio (int, struct aiocb *const[], int, struct sigevent*)
-
-// POSIX in theory doesn't allow the header to be self contained but
-// this was fixed later and we do not test for this here.
-allow-header fcntl.h
-allow-header signal.h
-allow-header sys/types.h
-allow-header time.h
-
-allow aio_*
-allow lio_*
-allow AIO_*
-allow LIO_*
-allow *_t
-#endif
diff --git a/conform/data/arpa/inet.h-data b/conform/data/arpa/inet.h-data
deleted file mode 100644
index d4ab6bb72a..0000000000
--- a/conform/data/arpa/inet.h-data
+++ /dev/null
@@ -1,31 +0,0 @@
-#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
-type in_addr_t
-
-type uint32_t
-type uint16_t
-
-macro INET_ADDRSTRLEN
-macro INET6_ADDRSTRLEN
-
-// The following can be declared as functions, defined as macros or both:
-function uint32_t htonl (uint32_t);
-function uint16_t htons (uint16_t);
-function uint32_t ntohl (uint32_t);
-function uint16_t htons (uint16_t);
-
-function in_addr_t inet_addr (const char*);
-function in_addr_t inet_lnaof (struct in_addr);
-function {struct in_addr} inet_makeaddr (in_addr_t, in_addr_t);
-function in_addr_t inet_netof (struct in_addr);
-function in_addr_t inet_network (const char *);
-function {char*} inet_ntoa (struct in_addr);
-function {const char*} inet_ntop (int, const void*, char*, socklen_t);
-function int inet_pton (int, const char*, void*);
-
-allow-header netinet/in.h
-allow-header inttypes.h
-
-#endif
diff --git a/conform/data/assert.h-data b/conform/data/assert.h-data
deleted file mode 100644
index acdfef99e1..0000000000
--- a/conform/data/assert.h-data
+++ /dev/null
@@ -1,9 +0,0 @@
-macro assert
-
-#ifdef ISO11
-macro static_assert
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/complex.h-data b/conform/data/complex.h-data
deleted file mode 100644
index 4af7757bd7..0000000000
--- a/conform/data/complex.h-data
+++ /dev/null
@@ -1,113 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-macro complex
-macro _Complex_I
-optional-macro imaginary
-optional-macro _Imaginary_I
-macro I
-
-function double cabs (double complex)
-function {double complex} cacos (double complex)
-function {double complex} cacosh (double complex)
-function double carg (double complex)
-function {double complex} casin (double complex)
-function {double complex} casinh (double complex)
-function {double complex} catan (double complex)
-function {double complex} catanh (double complex)
-function {double complex} ccos (double complex)
-function {double complex} ccosh (double complex)
-function {double complex} cexp (double complex)
-function double cimag (double complex)
-function {double complex} clog (double complex)
-function {double complex} conj (double complex)
-function {double complex} cpow (double complex, double complex)
-function {double complex} cproj (double complex)
-function double creal (double complex)
-function {double complex} csin (double complex)
-function {double complex} csinh (double complex)
-function {double complex} csqrt (double complex)
-function {double complex} ctan (double complex)
-function {double complex} ctanh (double complex)
-
-function float cabsf (float complex)
-function {float complex} cacosf (float complex)
-function {float complex} cacoshf (float complex)
-function float cargf (float complex)
-function {float complex} casinf (float complex)
-function {float complex} casinhf (float complex)
-function {float complex} catanf (float complex)
-function {float complex} catanhf (float complex)
-function {float complex} ccosf (float complex)
-function {float complex} ccoshf (float complex)
-function {float complex} cexpf (float complex)
-function float cimagf (float complex)
-function {float complex} clogf (float complex)
-function {float complex} conjf (float complex)
-function {float complex} cpowf (float complex, float complex)
-function {float complex} cprojf (float complex)
-function float crealf (float complex)
-function {float complex} csinf (float complex)
-function {float complex} csinhf (float complex)
-function {float complex} csqrtf (float complex)
-function {float complex} ctanf (float complex)
-function {float complex} ctanhf (float complex)
-
-function {long double} cabsl (long double complex)
-function {long double complex} cacosl (long double complex)
-function {long double complex} cacoshl (long double complex)
-function {long double} cargl (long double complex)
-function {long double complex} casinhl (long double complex)
-function {long double complex} casinl (long double complex)
-function {long double complex} catanhl (long double complex)
-function {long double complex} catanl (long double complex)
-function {long double complex} ccoshl (long double complex)
-function {long double complex} ccosl (long double complex)
-function {long double complex} cexpl (long double complex)
-function {long double} cimagl (long double complex)
-function {long double complex} clogl (long double complex)
-function {long double complex} conjl (long double complex)
-function {long double complex} cpowl (long double complex, long double complex)
-function {long double complex} cprojl (long double complex)
-function {long double} creall (long double complex)
-function {long double complex} csinhl (long double complex)
-function {long double complex} csinl (long double complex)
-function {long double complex} csqrtl (long double complex)
-function {long double complex} ctanhl (long double complex)
-function {long double complex} ctanl (long double complex)
-
-# if defined ISO11
-macro-function {double complex} CMPLX (double, double)
-macro-function {float complex} CMPLXF (float, float)
-macro-function {long double complex} CMPLXL (long double, long double)
-# endif
-
-allow cerf
-allow cerfc
-allow cexp2
-allow cexpm1
-allow clog10
-allow clog1p
-allow clog2
-allow clgamma
-allow ctgamma
-
-allow cerff
-allow cerfcf
-allow cexp2f
-allow cexpm1f
-allow clog10f
-allow clog1pf
-allow clog2f
-allow clgammaf
-allow ctgammaf
-
-allow cerfl
-allow cerfcl
-allow cexp2l
-allow cexpm1l
-allow clog10l
-allow clog1pl
-allow clog2l
-allow clgammal
-allow ctgammal
-
-#endif
diff --git a/conform/data/cpio.h-data b/conform/data/cpio.h-data
deleted file mode 100644
index ac7d40fd5e..0000000000
--- a/conform/data/cpio.h-data
+++ /dev/null
@@ -1,26 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-constant C_IRUSR == 0000400
-constant C_IWUSR == 0000200
-constant C_IXUSR == 0000100
-constant C_IRGRP == 0000040
-constant C_IWGRP == 0000020
-constant C_IXGRP == 0000010
-constant C_IROTH == 0000004
-constant C_IWOTH == 0000002
-constant C_IXOTH == 0000001
-constant C_ISUID == 0004000
-constant C_ISGID == 0002000
-constant C_ISVTX == 0001000
-constant C_ISDIR == 0040000
-constant C_ISFIFO == 0010000
-constant C_ISREG == 0100000
-constant C_ISBLK == 0060000
-constant C_ISCHR == 0020000
-constant C_ISCTG == 0110000
-constant C_ISLNK == 0120000
-constant C_ISSOCK == 0140000
-
-macro-str MAGIC "070707"
-
-allow *_t
-#endif
diff --git a/conform/data/ctype.h-data b/conform/data/ctype.h-data
deleted file mode 100644
index 7e10794e46..0000000000
--- a/conform/data/ctype.h-data
+++ /dev/null
@@ -1,51 +0,0 @@
-function int isalnum (int)
-function int isalpha (int)
-function int iscntrl (int)
-function int isdigit (int)
-function int isgraph (int)
-function int islower (int)
-function int isprint (int)
-function int ispunct (int)
-function int isspace (int)
-function int isupper (int)
-function int isxdigit (int)
-function int tolower (int)
-function int toupper (int)
-
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-function int isblank (int)
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function int isascii (int)
-function int toascii (int)
-
-// XPG says the following two are macros. But we test a bit more strictly.
-function int _toupper (int)
-function int _tolower (int)
-#endif
-
-# if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-
-function int isalnum_l (int, locale_t)
-function int isalpha_l (int, locale_t)
-function int iscntrl_l (int, locale_t)
-function int isdigit_l (int, locale_t)
-function int isgraph_l (int, locale_t)
-function int islower_l (int, locale_t)
-function int isprint_l (int, locale_t)
-function int ispunct_l (int, locale_t)
-function int isspace_l (int, locale_t)
-function int isupper_l (int, locale_t)
-function int isxdigit_l (int, locale_t)
-function int tolower_l (int, locale_t)
-function int toupper_l (int, locale_t)
-# endif
-
-allow is[abcdefghijklmnopqrstuvwxyz]*
-allow to[abcdefghijklmnopqrstuvwxyz]*
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/dirent.h-data b/conform/data/dirent.h-data
deleted file mode 100644
index be7ad06fd8..0000000000
--- a/conform/data/dirent.h-data
+++ /dev/null
@@ -1,34 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type DIR
-
-type {struct dirent}
-
-# if !defined POSIX && !defined POSIX2008
-element {struct dirent} ino_t d_ino
-# endif
-element {struct dirent} char d_name []
-
-# if !defined POSIX && !defined POSIX2008
-type ino_t
-#endif
-
-function int closedir (DIR*)
-function {DIR*} opendir (const char*)
-function {struct dirent*} readdir (DIR*)
-function int readdir_r (DIR*, struct dirent*, struct dirent**)
-function void rewinddir (DIR*)
-# if !defined POSIX && !defined POSIX2008
-function void seekdir (DIR*, long int)
-function {long int} telldir (DIR*)
-# endif
-
-allow d_*
-allow *_t
-
-# if defined XOPEN2K8 || defined POSIX2008
-function int alphasort (const struct dirent**, const struct dirent**)
-function int dirfd (DIR*)
-function int scandir (const char*, struct dirent***, int(*)(const struct dirent*), int(*)(const struct dirent**,const struct dirent **))
-function {DIR*} fdopendir (int)
-# endif
-#endif
diff --git a/conform/data/dlfcn.h-data b/conform/data/dlfcn.h-data
deleted file mode 100644
index b6658ae8ca..0000000000
--- a/conform/data/dlfcn.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42
-macro RTLD_LAZY
-macro RTLD_NOW
-macro RTLD_GLOBAL
-macro RTLD_LOCAL
-
-function {void*} dlopen (const char*, int)
-function {void*} dlsym (void *, const char*)
-function int dlclose (void*)
-function {char*} dlerror (void)
-
-allow *_t
-allow RTLD_*
-#endif
diff --git a/conform/data/errno.h-data b/conform/data/errno.h-data
deleted file mode 100644
index 12730ba974..0000000000
--- a/conform/data/errno.h-data
+++ /dev/null
@@ -1,134 +0,0 @@
-macro-int-constant EDOM {int} > 0
-#if !defined ISO && !defined POSIX
-macro-int-constant EILSEQ {int} > 0
-#endif
-macro-int-constant ERANGE {int} > 0
-
-// variable int errno
-allow errno
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-macro-int-constant E2BIG {int} > 0
-macro-int-constant EACCES {int} > 0
-# if !defined POSIX
-macro-int-constant EADDRINUSE {int} > 0
-macro-int-constant EADDRNOTAVAIL {int} > 0
-macro-int-constant EAFNOSUPPORT {int} > 0
-# endif
-macro-int-constant EAGAIN {int} > 0
-# if !defined POSIX
-macro-int-constant EALREADY {int} > 0
-# endif
-macro-int-constant EBADF {int} > 0
-macro-int-constant EBADMSG {int} > 0
-macro-int-constant EBUSY {int} > 0
-macro-int-constant ECANCELED {int} > 0
-macro-int-constant ECHILD {int} > 0
-# if !defined POSIX
-macro-int-constant ECONNABORTED {int} > 0
-macro-int-constant ECONNREFUSED {int} > 0
-macro-int-constant ECONNRESET {int} > 0
-# endif
-macro-int-constant EDEADLK {int} > 0
-# if !defined POSIX
-macro-int-constant EDESTADDRREQ {int} > 0
-macro-int-constant EDQUOT {int} > 0
-# endif
-macro-int-constant EEXIST {int} > 0
-macro-int-constant EFAULT {int} > 0
-macro-int-constant EFBIG {int} > 0
-# if !defined POSIX
-macro-int-constant EHOSTUNREACH {int} > 0
-macro-int-constant EIDRM {int} > 0
-# endif
-macro-int-constant EINPROGRESS {int} > 0
-macro-int-constant EINTR {int} > 0
-macro-int-constant EINVAL {int} > 0
-macro-int-constant EIO {int} > 0
-# if !defined POSIX
-macro-int-constant EISCONN {int} > 0
-# endif
-macro-int-constant EISDIR {int} > 0
-# if !defined POSIX
-macro-int-constant ELOOP {int} > 0
-# endif
-macro-int-constant EMFILE {int} > 0
-macro-int-constant EMLINK {int} > 0
-macro-int-constant EMSGSIZE {int} > 0
-# if !defined POSIX
-macro-int-constant EMULTIHOP {int} > 0
-# endif
-macro-int-constant ENAMETOOLONG {int} > 0
-# if !defined POSIX
-macro-int-constant ENETDOWN {int} > 0
-macro-int-constant ENETUNREACH {int} > 0
-# endif
-macro-int-constant ENFILE {int} > 0
-# if !defined POSIX
-macro-int-constant ENOBUFS {int} > 0
-macro-int-constant ENODATA {int} > 0
-# endif
-macro-int-constant ENODEV {int} > 0
-macro-int-constant ENOENT {int} > 0
-macro-int-constant ENOEXEC {int} > 0
-macro-int-constant ENOLCK {int} > 0
-# if !defined POSIX
-macro-int-constant ENOLINK {int} > 0
-# endif
-macro-int-constant ENOMEM {int} > 0
-# if !defined POSIX
-macro-int-constant ENOMSG {int} > 0
-macro-int-constant ENOPROTOOPT {int} > 0
-# endif
-macro-int-constant ENOSPC {int} > 0
-# if !defined POSIX
-macro-int-constant ENOSR {int} > 0
-macro-int-constant ENOSTR {int} > 0
-# endif
-macro-int-constant ENOSYS {int} > 0
-# if !defined POSIX
-macro-int-constant ENOTCONN {int} > 0
-# endif
-macro-int-constant ENOTDIR {int} > 0
-macro-int-constant ENOTEMPTY {int} > 0
-# if !defined POSIX
-macro-int-constant ENOTSOCK {int} > 0
-# endif
-macro-int-constant ENOTSUP {int} > 0
-macro-int-constant ENOTTY {int} > 0
-macro-int-constant ENXIO {int} > 0
-# if !defined POSIX
-macro-int-constant EOPNOTSUPP {int} > 0
-macro-int-constant EOVERFLOW {int} > 0
-# endif
-macro-int-constant EPERM {int} > 0
-macro-int-constant EPIPE {int} > 0
-# if !defined POSIX
-macro-int-constant EPROTO {int} > 0
-macro-int-constant EPROTONOSUPPORT {int} > 0
-macro-int-constant EPROTOTYPE {int} > 0
-# endif
-macro-int-constant EROFS {int} > 0
-macro-int-constant ESPIPE {int} > 0
-macro-int-constant ESRCH {int} > 0
-# if !defined POSIX
-macro-int-constant ESTALE {int} > 0
-macro-int-constant ETIME {int} > 0
-# endif
-macro-int-constant ETIMEDOUT {int} > 0
-# if !defined POSIX
-macro-int-constant ETXTBSY {int} > 0
-macro-int-constant EWOULDBLOCK {int} > 0
-# endif
-macro-int-constant EXDEV {int} > 0
-
-# if defined XOPEN2K8 || defined POSIX2008
-macro-int-constant ENOTRECOVERABLE {int} > 0
-macro-int-constant EOWNERDEAD {int} > 0
-# endif
-
-allow *_t
-#endif
-
-allow E[0123456789]*
-allow E[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
diff --git a/conform/data/fcntl.h-data b/conform/data/fcntl.h-data
deleted file mode 100644
index 17596f5ff1..0000000000
--- a/conform/data/fcntl.h-data
+++ /dev/null
@@ -1,134 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-constant F_DUPFD
-constant F_GETFD
-constant F_SETFD
-constant F_GETFL
-constant F_SETFL
-constant F_GETLK
-constant F_SETLK
-constant F_SETLKW
-#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-constant F_GETOWN
-constant F_SETOWN
-#endif
-
-constant FD_CLOEXEC
-
-constant F_RDLCK
-constant F_UNLCK
-constant F_WRLCK
-
-#if defined POSIX
-allow SEEK_SET
-allow SEEK_CUR
-allow SEEK_END
-#else
-constant SEEK_SET
-constant SEEK_CUR
-constant SEEK_END
-#endif
-
-constant O_CREAT
-constant O_EXCL
-constant O_NOCTTY
-constant O_TRUNC
-
-constant O_APPEND
-constant O_NONBLOCK
-constant O_SYNC
-#if !defined XPG4 && !defined XPG42
-constant O_DSYNC
-constant O_RSYNC
-#endif
-
-constant O_ACCMODE
-
-constant O_RDONLY
-constant O_RDWR
-constant O_WRONLY
-
-#if !defined POSIX
-constant S_IRWXU
-constant S_IRUSR
-constant S_IWUSR
-constant S_IXUSR
-constant S_IRWXG
-constant S_IRGRP
-constant S_IWGRP
-constant S_IXGRP
-constant S_IRWXO
-constant S_IROTH
-constant S_IWOTH
-constant S_IXOTH
-constant S_ISUID
-constant S_ISGID
-#if !defined POSIX2008
-constant S_ISVTX
-#endif
-#endif
-
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-constant POSIX_FADV_NORMAL
-constant POSIX_FADV_SEQUENTIAL
-constant POSIX_FADV_RANDOM
-constant POSIX_FADV_WILLNEED
-constant POSIX_FADV_DONTNEED
-constant POSIX_FADV_NOREUSE
-#endif
-
-type {struct flock}
-
-element {struct flock} short l_type
-element {struct flock} short l_whence
-element {struct flock} off_t l_start
-element {struct flock} off_t l_len
-element {struct flock} pid_t l_pid
-
-#if !defined POSIX
-# if !defined UNIX98
-type mode_t
-# endif
-type off_t
-type pid_t
-#endif
-
-function int creat (const char*, mode_t)
-function int fcntl (int, int, ...)
-function int open (const char*, int, ...)
-#if defined XOPEN2K8 || defined POSIX2008
-function int openat (int, const char*, int, ...)
-#endif
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int posix_fadvise (int, off_t, off_t, int)
-function int posix_fallocate (int, off_t, off_t)
-#endif
-
-#if defined XOPEN2K8 || defined POSIX2008
-// Bug 18228: O_TTY_INIT, O_EXEC, O_SEARCH missing.
-xfail-constant O_TTY_INIT
-constant O_CLOEXEC
-xfail-constant O_EXEC
-xfail-constant O_SEARCH
-constant O_DIRECTORY
-constant O_NOFOLLOW
-constant F_DUPFD_CLOEXEC
-constant AT_FDCWD
-constant AT_EACCESS
-constant AT_SYMLINK_NOFOLLOW
-constant AT_SYMLINK_FOLLOW
-constant AT_REMOVEDIR
-
-function int openat(int, const char*, int, ...)
-#endif
-
-#if !defined POSIX
-allow-header sys/stat.h
-allow-header unistd.h
-#endif
-
-allow l_*
-allow F_*
-allow O_*
-allow S_*
-allow *_t
-#endif
diff --git a/conform/data/fenv.h-data b/conform/data/fenv.h-data
deleted file mode 100644
index 280b72864c..0000000000
--- a/conform/data/fenv.h-data
+++ /dev/null
@@ -1,36 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-type fenv_t
-type fexcept_t
-
-optional-macro-int-constant FE_DIVBYZERO
-optional-macro-int-constant FE_INEXACT
-optional-macro-int-constant FE_INVALID
-optional-macro-int-constant FE_OVERFLOW
-optional-macro-int-constant FE_UNDERFLOW
-macro-int-constant FE_ALL_EXCEPT
-
-optional-macro-int-constant FE_DOWNWARD
-optional-macro-int-constant FE_TONEAREST
-optional-macro-int-constant FE_TOWARDZERO
-optional-macro-int-constant FE_UPWARD
-
-allow FE_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
-
-macro FE_DFL_ENV {const fenv_t *}
-
-function int feclearexcept (int)
-function int fegetexceptflag (fexcept_t*, int)
-function int feraiseexcept (int)
-function int fesetexceptflag (const fexcept_t*, int)
-function int fetestexcept (int)
-function int fegetround (void)
-function int fesetround (int)
-function int fegetenv (fenv_t*)
-function int feholdexcept (fenv_t*)
-function int fesetenv (const fenv_t*)
-function int feupdateenv (const fenv_t *)
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#endif
diff --git a/conform/data/float.h-data b/conform/data/float.h-data
deleted file mode 100644
index 7b98fc0344..0000000000
--- a/conform/data/float.h-data
+++ /dev/null
@@ -1,62 +0,0 @@
-macro-int-constant FLT_RADIX >= 2
-
-macro FLT_ROUNDS
-
-macro-int-constant FLT_MANT_DIG
-macro-int-constant DBL_MANT_DIG
-macro-int-constant LDBL_MANT_DIG
-
-macro-int-constant FLT_DIG >= 6
-macro-int-constant DBL_DIG >= 10
-macro-int-constant LDBL_DIG >= 10
-
-macro-int-constant FLT_MIN_EXP < 0
-macro-int-constant DBL_MIN_EXP < 0
-macro-int-constant LDBL_MIN_EXP < 0
-
-macro-int-constant FLT_MIN_10_EXP <= -37
-macro-int-constant DBL_MIN_10_EXP <= -37
-macro-int-constant LDBL_MIN_10_EXP <= -37
-
-macro-int-constant FLT_MAX_EXP
-macro-int-constant DBL_MAX_EXP
-macro-int-constant LDBL_MAX_EXP
-
-macro-int-constant FLT_MAX_10_EXP >= 37
-macro-int-constant DBL_MAX_10_EXP >= 37
-macro-int-constant LDBL_MAX_10_EXP >= 37
-
-macro-constant FLT_MAX >= 1.0E37
-macro-constant DBL_MAX >= 1.0E37
-macro-constant LDBL_MAX >= 1.0E37
-
-macro-constant FLT_EPSILON <= 1.0E-5
-macro-constant DBL_EPSILON <= 1.0E-9
-macro-constant LDBL_EPSILON <= 1.0E-9
-
-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 XPG4 && !defined XPG42 && !defined POSIX && !defined UNIX98
-macro-int-constant DECIMAL_DIG >= 10
-macro-int-constant FLT_EVAL_METHOD
-#endif
-
-#if defined ISO11
-macro-int-constant DBL_HAS_SUBNORM
-macro-int-constant FLT_HAS_SUBNORM
-macro-int-constant LDBL_HAS_SUBNORM
-
-macro-int-constant DBL_DECIMAL_DIG >= 10
-macro-int-constant FLT_DECIMAL_DIG >= 6
-macro-int-constant LDBL_DECIMAL_DIG >= 10
-
-macro-constant DBL_TRUE_MIN <= 1E-37
-macro-constant FLT_TRUE_MIN <= 1E-37
-macro-constant LDBL_TRUE_MIN <= 1E-37
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/fmtmsg.h-data b/conform/data/fmtmsg.h-data
deleted file mode 100644
index c1b18ad4a4..0000000000
--- a/conform/data/fmtmsg.h-data
+++ /dev/null
@@ -1,63 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-macro MM_HARD
-constant MM_HARD
-
-macro MM_SOFT
-constant MM_SOFT
-
-macro MM_FIRM
-constant MM_FIRM
-
-macro MM_APPL
-constant MM_APPL
-
-macro MM_UTIL
-constant MM_UTIL
-
-macro MM_OPSYS
-constant MM_OPSYS
-
-macro MM_RECOVER
-constant MM_RECOVER
-
-macro MM_NRECOV
-constant MM_NRECOV
-
-macro MM_HALT
-constant MM_HALT
-
-macro MM_ERROR
-constant MM_ERROR
-
-macro MM_WARNING
-constant MM_WARNING
-
-macro MM_INFO
-constant MM_INFO
-
-macro MM_NOSEV
-constant MM_NOSEV
-
-macro MM_PRINT
-constant MM_PRINT
-
-macro MM_CONSOLE
-constant MM_CONSOLE
-
-constant MM_NULLLBL == 0
-constant MM_NULLSEV == 0
-constant MM_NULLMC == 0
-constant MM_NULLTXT == 0
-constant MM_NULLACT == 0
-constant MM_NULLTAG == 0
-
-macro MM_OK
-macro MM_NOTOK
-macro MM_NOMSG
-macro MM_NOCON
-
-function int fmtmsg (long, const char*, int, const char*, const char*, const char*)
-
-allow *_t
-allow MM_*
-#endif
diff --git a/conform/data/fnmatch.h-data b/conform/data/fnmatch.h-data
deleted file mode 100644
index 12a9a4ac2e..0000000000
--- a/conform/data/fnmatch.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-constant FNM_NOMATCH
-constant FNM_PATHNAME
-constant FNM_PERIOD
-constant FNM_NOESCAPE
-#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
-constant FNM_NOSYS
-#endif
-
-function int fnmatch (const char*, const char*, int)
-
-allow FNM_*
-allow *_t
-#endif
diff --git a/conform/data/ftw.h-data b/conform/data/ftw.h-data
deleted file mode 100644
index 340334bfd4..0000000000
--- a/conform/data/ftw.h-data
+++ /dev/null
@@ -1,35 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-# ifndef XPG4
-type {struct FTW}
-element {struct FTW} int base
-element {struct FTW} int level
-# endif
-
-macro FTW_F
-macro FTW_D
-macro FTW_DNR
-# if !defined XPG4 && !defined XPG42
-macro FTW_DP
-# endif
-macro FTW_NS
-
-# ifndef XPG4
-macro FTW_SL
-macro FTW_SLN
-
-macro FTW_PHYS
-macro FTW_MOUNT
-macro FTW_DEPTH
-macro FTW_CHDIR
-# endif
-
-function int ftw (const char*, int (*) (const char *, const struct stat*, int), int)
-# ifndef XPG4
-function int nftw (const char*, int (*) (const char *, const struct stat*, int, struct FTW *), int, int)
-# endif
-
-allow-header sys/stat.h
-
-allow *_t
-allow FTW*
-#endif
diff --git a/conform/data/glob.h-data b/conform/data/glob.h-data
deleted file mode 100644
index eca83937af..0000000000
--- a/conform/data/glob.h-data
+++ /dev/null
@@ -1,32 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#ifdef POSIX
-# define size_t __size_t
-#endif
-
-type glob_t
-element glob_t size_t gl_pathc
-element glob_t {char**} gl_pathv
-element glob_t size_t gl_offs
-
-constant GLOB_APPEND
-constant GLOB_DOOFFS
-constant GLOB_ERR
-constant GLOB_MARK
-constant GLOB_NOCHECK
-constant GLOB_NOESCAPE
-constant GLOB_NOSORT
-
-constant GLOB_ABORTED
-constant GLOB_NOMATCH
-constant GLOB_NOSPACE
-# if !defined XOPEN2K8 && !defined POSIX2008 && !defined POSIX
-constant GLOB_NOSYS
-# endif
-
-function int glob (const char*, int, int (*) (const char*, int), glob_t*)
-function void globfree (glob_t *)
-
-allow gl_*
-allow GLOB_*
-allow *_t
-#endif
diff --git a/conform/data/grp.h-data b/conform/data/grp.h-data
deleted file mode 100644
index 1688444586..0000000000
--- a/conform/data/grp.h-data
+++ /dev/null
@@ -1,30 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#ifdef POSIX
-# define gid_t __gid_t
-#endif
-
-type {struct group}
-element {struct group} {char*} gr_name
-element {struct group} gid_t gr_gid
-element {struct group} {char**} gr_mem
-
-# ifndef POSIX
-type gid_t
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-type size_t
-# endif
-
-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 XPG4 && !defined POSIX && !defined POSIX2008
-function {struct group*} getgrent (void)
-function void endgrent (void)
-function void setgrent (void)
-# endif
-
-allow gr_*
-allow *_t
-#endif
diff --git a/conform/data/iconv.h-data b/conform/data/iconv.h-data
deleted file mode 100644
index 79fb2d6def..0000000000
--- a/conform/data/iconv.h-data
+++ /dev/null
@@ -1,12 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-type iconv_t
-# if defined XOPEN2K8 || defined POSIX2008
-type size_t
-# endif
-
-function iconv_t iconv_open (const char*, const char*)
-function size_t iconv (iconv_t, char**, size_t*, char**, size_t*)
-function int iconv_close (iconv_t)
-
-allow *_t
-#endif
diff --git a/conform/data/inttypes.h-data b/conform/data/inttypes.h-data
deleted file mode 100644
index 2ae5b951be..0000000000
--- a/conform/data/inttypes.h-data
+++ /dev/null
@@ -1,177 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-#include "stdint.h-data"
-
-type imaxdiv_t
-element imaxdiv_t intmax_t rem
-element imaxdiv_t intmax_t quot
-
-function intmax_t imaxabs (intmax_t)
-function imaxdiv_t imaxdiv (intmax_t, intmax_t)
-function intmax_t strtoimax (const char*, char**, int)
-function uintmax_t strtoumax (const char*, char**, int)
-function intmax_t wcstoimax (const __gwchar_t*, __gwchar_t**, int)
-function uintmax_t wcstoumax (const __gwchar_t*, __gwchar_t**, int)
-
-macro PRId8
-macro PRIi8
-macro PRIo8
-macro PRIu8
-macro PRIx8
-macro PRIX8
-macro SCNd8
-macro SCNi8
-macro SCNo8
-macro SCNu8
-macro SCNx8
-macro PRIdLEAST8
-macro PRIiLEAST8
-macro PRIoLEAST8
-macro PRIuLEAST8
-macro PRIxLEAST8
-macro PRIXLEAST8
-macro SCNdLEAST8
-macro SCNiLEAST8
-macro SCNoLEAST8
-macro SCNuLEAST8
-macro SCNxLEAST8
-macro PRIdFAST8
-macro PRIiFAST8
-macro PRIoFAST8
-macro PRIuFAST8
-macro PRIxFAST8
-macro PRIXFAST8
-macro SCNdFAST8
-macro SCNiFAST8
-macro SCNoFAST8
-macro SCNuFAST8
-macro SCNxFAST8
-
-macro PRId16
-macro PRIi16
-macro PRIo16
-macro PRIu16
-macro PRIx16
-macro PRIX16
-macro SCNd16
-macro SCNi16
-macro SCNo16
-macro SCNu16
-macro SCNx16
-macro PRIdLEAST16
-macro PRIiLEAST16
-macro PRIoLEAST16
-macro PRIuLEAST16
-macro PRIxLEAST16
-macro PRIXLEAST16
-macro SCNdLEAST16
-macro SCNiLEAST16
-macro SCNoLEAST16
-macro SCNuLEAST16
-macro SCNxLEAST16
-macro PRIdFAST16
-macro PRIiFAST16
-macro PRIoFAST16
-macro PRIuFAST16
-macro PRIxFAST16
-macro PRIXFAST16
-macro SCNdFAST16
-macro SCNiFAST16
-macro SCNoFAST16
-macro SCNuFAST16
-macro SCNxFAST16
-
-macro PRId32
-macro PRIi32
-macro PRIo32
-macro PRIu32
-macro PRIx32
-macro PRIX32
-macro SCNd32
-macro SCNi32
-macro SCNo32
-macro SCNu32
-macro SCNx32
-macro PRIdLEAST32
-macro PRIiLEAST32
-macro PRIoLEAST32
-macro PRIuLEAST32
-macro PRIxLEAST32
-macro PRIXLEAST32
-macro SCNdLEAST32
-macro SCNiLEAST32
-macro SCNoLEAST32
-macro SCNuLEAST32
-macro SCNxLEAST32
-macro PRIdFAST32
-macro PRIiFAST32
-macro PRIoFAST32
-macro PRIuFAST32
-macro PRIxFAST32
-macro PRIXFAST32
-macro SCNdFAST32
-macro SCNiFAST32
-macro SCNoFAST32
-macro SCNuFAST32
-macro SCNxFAST32
-
-macro PRId64
-macro PRIi64
-macro PRIo64
-macro PRIu64
-macro PRIx64
-macro PRIX64
-macro SCNd64
-macro SCNi64
-macro SCNo64
-macro SCNu64
-macro SCNx64
-macro PRIdLEAST64
-macro PRIiLEAST64
-macro PRIoLEAST64
-macro PRIuLEAST64
-macro PRIxLEAST64
-macro PRIXLEAST64
-macro SCNdLEAST64
-macro SCNiLEAST64
-macro SCNoLEAST64
-macro SCNuLEAST64
-macro SCNxLEAST64
-macro PRIdFAST64
-macro PRIiFAST64
-macro PRIoFAST64
-macro PRIuFAST64
-macro PRIxFAST64
-macro PRIXFAST64
-macro SCNdFAST64
-macro SCNiFAST64
-macro SCNoFAST64
-macro SCNuFAST64
-macro SCNxFAST64
-
-macro PRIdMAX
-macro PRIiMAX
-macro PRIoMAX
-macro PRIuMAX
-macro PRIxMAX
-macro PRIXMAX
-macro SCNdMAX
-macro SCNiMAX
-macro SCNoMAX
-macro SCNuMAX
-macro SCNxMAX
-
-macro PRIdPTR
-macro PRIiPTR
-macro PRIoPTR
-macro PRIuPTR
-macro PRIxPTR
-macro PRIXPTR
-macro SCNdPTR
-macro SCNiPTR
-macro SCNoPTR
-macro SCNuPTR
-macro SCNxPTR
-
-allow PRI[Xa-z]*
-allow SCN[Xa-z]*
-#endif
diff --git a/conform/data/iso646.h-data b/conform/data/iso646.h-data
deleted file mode 100644
index 9e307f734d..0000000000
--- a/conform/data/iso646.h-data
+++ /dev/null
@@ -1,17 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
-macro and
-macro and_eq
-macro bitand
-macro bitor
-macro compl
-macro not
-macro not_eq
-macro or
-macro or_eq
-macro xor
-macro xor_eq
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#endif
diff --git a/conform/data/langinfo.h-data b/conform/data/langinfo.h-data
deleted file mode 100644
index 6bbb3872a0..0000000000
--- a/conform/data/langinfo.h-data
+++ /dev/null
@@ -1,76 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-constant CODESET
-constant D_T_FMT
-constant D_FMT
-constant T_FMT
-constant T_FMT_AMPM
-constant AM_STR
-constant PM_STR
-constant DAY_1
-constant DAY_2
-constant DAY_3
-constant DAY_4
-constant DAY_5
-constant DAY_6
-constant DAY_7
-constant ABDAY_1
-constant ABDAY_2
-constant ABDAY_3
-constant ABDAY_4
-constant ABDAY_5
-constant ABDAY_6
-constant ABDAY_7
-constant MON_1
-constant MON_2
-constant MON_3
-constant MON_4
-constant MON_5
-constant MON_6
-constant MON_7
-constant MON_8
-constant MON_9
-constant MON_10
-constant MON_11
-constant MON_12
-constant ABMON_1
-constant ABMON_2
-constant ABMON_3
-constant ABMON_4
-constant ABMON_5
-constant ABMON_6
-constant ABMON_7
-constant ABMON_8
-constant ABMON_9
-constant ABMON_10
-constant ABMON_11
-constant ABMON_12
-constant ERA
-constant ERA_D_FMT
-constant ERA_D_T_FMT
-constant ERA_T_FMT
-constant ALT_DIGITS
-constant RADIXCHAR
-constant THOUSEP
-constant YESEXPR
-constant NOEXPR
-constant CRNCYSTR
-
-# if defined XPG4 || defined XPG42 || defined UNIX98
-constant YESSTR
-constant NOSTR
-# endif
-
-type nl_item
-# if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-# endif
-
-function {char*} nl_langinfo (nl_item)
-# if defined XOPEN2K8 || defined POSIX2008
-function {char*} nl_langinfo_l (nl_item, locale_t)
-# endif
-
-allow-header nl_types.h
-
-allow *_t
-#endif
diff --git a/conform/data/libgen.h-data b/conform/data/libgen.h-data
deleted file mode 100644
index e9eb5fafc9..0000000000
--- a/conform/data/libgen.h-data
+++ /dev/null
@@ -1,6 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-function {char*} basename (char*)
-function {char*} dirname (char*)
-
-allow *_t
-#endif
diff --git a/conform/data/limits.h-data b/conform/data/limits.h-data
deleted file mode 100644
index 23114a5fa0..0000000000
--- a/conform/data/limits.h-data
+++ /dev/null
@@ -1,200 +0,0 @@
-macro-int-constant CHAR_BIT >= 8
-macro-int-constant SCHAR_MIN {promoted:signed char} <= -127
-macro-int-constant SCHAR_MAX {promoted:signed char} >= 127
-macro-int-constant UCHAR_MAX {promoted:unsigned char} >= 255
-#ifdef __CHAR_UNSIGNED__
-macro-int-constant CHAR_MIN {promoted:char} == 0
-macro-int-constant CHAR_MAX {promoted:char} == UCHAR_MAX
-#else
-macro-int-constant CHAR_MIN {promoted:char} == SCHAR_MIN
-macro-int-constant CHAR_MAX {promoted:char} == SCHAR_MAX
-#endif
-macro-int-constant MB_LEN_MAX >= 1
-macro-int-constant SHRT_MIN {promoted:short int} <= -32767
-macro-int-constant SHRT_MAX {promoted:short int} >= 32767
-macro-int-constant USHRT_MAX {promoted:unsigned short int} >= 65535
-// The ranges for int and unsigned int are from POSIX.
-macro-int-constant INT_MAX {int} >= 2147483647
-macro-int-constant INT_MIN {int} <= -2147483647
-macro-int-constant UINT_MAX {unsigned int} >= 4294967295U
-macro-int-constant LONG_MAX {long int} >= 2147483647L
-macro-int-constant LONG_MIN {long int} <= -2147483647L
-macro-int-constant ULONG_MAX {unsigned long int} >= 4294967295UL
-#if defined ISO99 || defined ISO11 || defined XOPEN2K8 || defined POSIX2008
-macro-int-constant LLONG_MIN {long long int} <= -9223372036854775807ll
-macro-int-constant LLONG_MAX {long long int} >= 9223372036854775807ll
-macro-int-constant ULLONG_MAX {unsigned long long int} >= 18446744073709551615ull
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-// if these values exist, we should check the minimal value
-allow AIO_LISTIO_MAX
-allow AIO_MAX
-allow AIO_PRIO_DELTA_MAX
-allow ARG_MAX
-#if !defined POSIX && !defined XPG4
-allow ATEXIT_MAX
-#endif
-allow CHILD_MAX
-allow DELAYTIMER_MAX
-#if !defined POSIX && !defined POSIX2008 && !defined XPG4
-allow IOV_MAX
-#endif
-allow LOGIN_NAME_MAX
-allow MQ_OPEN_MAX
-allow MQ_PRIO_MAX
-allow OPEN_MAX
-allow PAGESIZE
-#if !defined POSIX && !defined POSIX2008
-allow PAGE_SIZE
-#endif
-allow PTHREAD_DESTRUCTOR_ITERATIONS
-allow PTHREAD_KEYS_MAX
-allow PTHREAD_STACK_MIN
-allow PTHREAD_THREADS_MAX
-allow RTSIG_MAX
-allow SEM_NSEMS_MAX
-allow SEM_VALUE_MAX
-allow SIGQUEUE_MAX
-#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-allow SS_REPL_MAX
-#endif
-allow STREAM_MAX
-#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 XPG4 && !defined XPG42
-allow FILESIZEBITS
-#endif
-allow LINK_MAX
-allow MAX_CANON
-allow MAX_INPUT
-allow NAME_MAX
-allow PATH_MAX
-allow PIPE_BUF
-#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
-allow POSIX_REC_XFER_ALIGN
-allow SYMLINK_MAX
-#endif
-
-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 XPG4 && !defined XPG42
-macro CHARCLASS_NAME_MAX
-#endif
-macro-constant COLL_WEIGHTS_MAX >= _POSIX2_COLL_WEIGHTS_MAX
-macro-constant EXPR_NEST_MAX >= _POSIX2_EXPR_NEST_MAX
-macro-constant LINE_MAX >= _POSIX2_LINE_MAX
-constant NGROUPS_MAX >= 8
-macro-constant RE_DUP_MAX >= _POSIX2_RE_DUP_MAX
-
-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 XPG4 && !defined XPG42 && !defined UNIX98
-constant _POSIX_CHILD_MAX == 25
-#else
-constant _POSIX_CHILD_MAX == 6
-#endif
-constant _POSIX_DELAYTIMER_MAX == 32
-constant _POSIX_LINK_MAX == 8
-constant _POSIX_LOGIN_NAME_MAX == 9
-constant _POSIX_MAX_CANON == 255
-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 XPG4 && !defined XPG42 && !defined UNIX98
-constant _POSIX_NGROUPS_MAX == 8
-#else
-constant _POSIX_NGROUPS_MAX == 0
-#endif
-#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-constant _POSIX_OPEN_MAX == 20
-#else
-constant _POSIX_OPEN_MAX == 16
-#endif
-// Value was 255, corrected to 256 following an interpretation request.
-constant _POSIX_PATH_MAX == 256
-constant _POSIX_PIPE_BUF == 512
-constant _POSIX_RTSIG_MAX == 8
-constant _POSIX_SEM_NSEMS_MAX == 256
-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 XPG4 && !defined XPG42 && !defined UNIX98
-optional-constant _POSIX_SS_REPL_MAX == 4
-optional-constant _POSIX_SYMLINK_MAX == 255
-optional-constant _POSIX_SYMLOOP_MAX == 8
-#endif
-constant _POSIX_THREAD_DESTRUCTOR_ITERATIONS == 4
-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 XPG4 && !defined XPG42 && !defined UNIX98
-constant _POSIX_TZNAME_MAX == 6
-#else
-constant _POSIX_TZNAME_MAX == 3
-#endif
-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 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 XPG4
-optional-constant _XOPEN_IOV_MAX == 16
-#endif
-
-#if !defined POSIX && !defined POSIX2008
-constant WORD_BIT >= 16
-constant LONG_BIT >= 32
-#endif
-constant SSIZE_MAX
-
-#if !defined POSIX
-optional-constant CHARCLASS_NAME_MAX >= 14
-#endif
-#if !defined POSIX
-optional-constant NL_ARGMAX >= 9
-# if !defined POSIX2008
-optional-constant NL_LANGMAX >= 14
-# endif
-optional-constant NL_MSGMAX >= 32767
-# if !defined XOPEN2K8 && !defined POSIX2008
-optional-constant NL_NMAX
-# endif
-optional-constant NL_SETMAX >= 255
-optional-constant NL_TEXTMAX
-# if !defined POSIX2008
-optional-constant NZERO >= 20
-# endif
-#endif
-#if defined XPG4 || defined XPG42 || defined UNIX98
-optional-constant TMP_MAX >= 10000
-#endif
-
-allow *_MAX
-#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-allow *_MIN
-#endif
-allow *_t
-#endif
diff --git a/conform/data/locale.h-data b/conform/data/locale.h-data
deleted file mode 100644
index 266264ac6d..0000000000
--- a/conform/data/locale.h-data
+++ /dev/null
@@ -1,70 +0,0 @@
-type {struct lconv}
-element {struct lconv} {char*} currency_symbol
-element {struct lconv} {char*} decimal_point
-element {struct lconv} char frac_digits
-element {struct lconv} {char*} grouping
-element {struct lconv} {char*} int_curr_symbol
-element {struct lconv} char int_frac_digits
-element {struct lconv} {char*} mon_decimal_point
-element {struct lconv} {char*} mon_thousands_sep
-element {struct lconv} {char*} mon_grouping
-element {struct lconv} {char*} negative_sign
-element {struct lconv} char n_cs_precedes
-element {struct lconv} char n_sep_by_space
-element {struct lconv} char n_sign_posn
-element {struct lconv} {char*} positive_sign
-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 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
-element {struct lconv} char int_p_cs_precedes
-element {struct lconv} char int_p_sep_by_space
-element {struct lconv} char int_p_sign_posn
-#endif
-
-macro-constant NULL == 0
-
-macro-int-constant LC_ALL
-macro-int-constant LC_COLLATE
-macro-int-constant LC_CTYPE
-#if !defined ISO && !defined ISO99 && !defined ISO11
-macro-int-constant LC_MESSAGES
-#endif
-macro-int-constant LC_MONETARY
-macro-int-constant LC_NUMERIC
-macro-int-constant LC_TIME
-
-#if defined XOPEN2K8 || defined POSIX2008
-constant LC_GLOBAL_LOCALE
-
-macro LC_COLLATE_MASK
-macro LC_CTYPE_MASK
-macro LC_MESSAGES_MASK
-macro LC_MONETARY_MASK
-macro LC_NUMERIC_MASK
-macro LC_TIME_MASK
-macro LC_ALL_MASK
-
-type locale_t
-#endif
-
-function {struct lconv*} localeconv (void)
-function {char*} setlocale (int, const char*)
-#if defined XOPEN2K8 || defined POSIX2008
-function locale_t duplocale (locale_t)
-function void freelocale (locale_t)
-function locale_t newlocale (int, const char*, locale_t)
-function locale_t uselocale (locale_t)
-#endif
-
-allow LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-allow LC_*_MASK
-#endif
diff --git a/conform/data/math.h-data b/conform/data/math.h-data
deleted file mode 100644
index 0c50755792..0000000000
--- a/conform/data/math.h-data
+++ /dev/null
@@ -1,335 +0,0 @@
-macro-constant HUGE_VAL {double}
-
-#if !defined ISO && !defined POSIX
-# if !defined XPG4 && !defined XPG42 && !defined UNIX98
-macro fpclassify
-macro isfinite
-macro isinf
-macro isnan
-macro isnormal
-macro signbit
-macro isgreater
-macro isgreaterequal
-macro isless
-macro islessequal
-macro islessgreater
-macro isunordered
-type float_t
-type double_t
-# endif
-# if defined XPG4 || defined XPG42 || defined UNIX98
-function int isnan (double)
-# endif
-
-# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
-constant M_E
-constant M_LOG2E
-constant M_LOG10E
-constant M_LN2
-constant M_LN10
-constant M_PI
-constant M_PI_2
-constant M_PI_4
-constant M_1_PI
-constant M_2_PI
-constant M_2_SQRTPI
-constant M_SQRT2
-constant M_SQRT1_2
-
-constant MAXFLOAT
-# endif
-# if !defined XPG4 && !defined XPG42 && !defined UNIX98
-macro-constant HUGE_VALF {float}
-macro-constant HUGE_VALL {long double}
-macro-constant INFINITY {float}
-macro-constant NAN {float}
-
-macro-int-constant FP_INFINITE
-macro-int-constant FP_NAN
-macro-int-constant FP_NORMAL
-macro-int-constant FP_SUBNORMAL
-macro-int-constant FP_ZERO
-
-optional-macro-int-constant FP_FAST_FMA {int} == 1
-optional-macro-int-constant FP_FAST_FMAF {int} == 1
-optional-macro-int-constant FP_FAST_FMAL {int} == 1
-
-macro-int-constant FP_ILOGB0
-macro-int-constant FP_ILOGBNAN
-
-macro-int-constant MATH_ERRNO {int} == 1
-macro-int-constant MATH_ERREXCEPT {int} == 2
-
-macro math_errhandling {int}
-# endif
-#endif
-
-function double acos (double)
-function double asin (double)
-function double atan (double)
-function double atan2 (double, double)
-function double ceil (double)
-#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 XPG4 && !defined XPG42 && !defined UNIX98
-function double exp2 (double)
-#endif
-function double fabs (double)
-function double floor (double)
-function double fmod (double, double)
-function double frexp (double, int*)
-function double ldexp (double, int)
-function double log (double)
-function double log10 (double)
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-function double log2 (double)
-#endif
-function double modf (double, double*)
-function double pow (double, double)
-function double sin (double)
-function double sinh (double)
-function double sqrt (double)
-function double tan (double)
-function double tanh (double)
-#if !defined ISO && !defined POSIX
-function double erf (double)
-function double erfc (double)
-#endif
-#if defined XPG4 || defined XPG42 || defined UNIX98
-function double gamma (double)
-#endif
-#if !defined ISO && !defined POSIX
-function double hypot (double, double)
-# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function double j0 (double)
-function double j1 (double)
-function double jn (int, double)
-# endif
-function double lgamma (double)
-# if !defined XPG4 && !defined XPG42 && !defined UNIX98
-function double tgamma (double)
-# endif
-# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function double y0 (double)
-function double y1 (double)
-function double yn (int, double)
-# endif
-# if !defined XPG4
-function double acosh (double)
-function double asinh (double)
-function double atanh (double)
-function double cbrt (double)
-function double expm1 (double)
-function int ilogb (double)
-function double log1p (double)
-function double logb (double)
-function double nextafter (double, double)
-# 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 XPG42 && !defined UNIX98
-function double round (double)
-function double trunc (double)
-function long lrint (double)
-function {long long} llrint (double)
-function long lround (double)
-function {long long} llround (double)
-function double remquo (double, double, int*)
-# endif
-# if defined XPG42 || defined UNIX98 || defined XOPEN2K
-function double scalb (double, double)
-# endif
-# if !defined XPG42 && !defined UNIX98
-function double scalbn (double, int)
-function double scalbln (double, long)
-function double fdim (double, double)
-function double fmax (double, double)
-function double fmin (double, double)
-function double fma (double, double, double)
-function double nan (const char*)
-# endif
-# endif
-
-# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-// variable signgam
-allow signgam
-# endif
-#endif
-
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-function float acosf (float)
-function float asinf (float)
-function float atanf (float)
-function float atan2f (float, float)
-function float ceilf (float)
-function float copysignf (float, float)
-function float cosf (float)
-function float coshf (float)
-function float expf (float)
-function float exp2f (float)
-function float fabsf (float)
-function float floorf (float)
-function float fmodf (float, float)
-function float frexpf (float, int*)
-function float ldexpf (float, int)
-function float logf (float)
-function float log10f (float)
-function float log2f (float)
-function float modff (float, float*)
-function float powf (float, float)
-function float sinf (float)
-function float sinhf (float)
-function float sqrtf (float)
-function float tanf (float)
-function float tanhf (float)
-function float erff (float)
-function float erfcf (float)
-function float hypotf (float, float)
-function float lgammaf (float)
-function float tgammaf (float)
-function float acoshf (float)
-function float asinhf (float)
-function float atanhf (float)
-function float cbrtf (float)
-function float expm1f (float)
-function int ilogbf (float)
-function float log1pf (float)
-function float logbf (float)
-function float nextafterf (float, float)
-function float nexttowardf (float, long double)
-function float nearbyintf (float)
-function float remainderf (float, float)
-function float rintf (float)
-function float roundf (float)
-function float truncf (float)
-function long lrintf (float)
-function {long long} llrintf (float)
-function long lroundf (float)
-function {long long} llroundf (float)
-function float remquof (float, float, int*)
-function float scalbnf (float, int)
-function float scalblnf (float, long)
-function float fdimf (float, float)
-function float fmaxf (float, float)
-function float fminf (float, float)
-function float fmaf (float, float, float)
-function float nanf (const char*)
-
-function {long double} acosl (long double)
-function {long double} asinl (long double)
-function {long double} atanl (long double)
-function {long double} atan2l (long double, long double)
-function {long double} ceill (long double)
-function {long double} copysignl (long double, long double)
-function {long double} cosl (long double)
-function {long double} coshl (long double)
-function {long double} expl (long double)
-function {long double} exp2l (long double)
-function {long double} fabsl (long double)
-function {long double} floorl (long double)
-function {long double} fmodl (long double, long double)
-function {long double} frexpl (long double, int*)
-function {long double} ldexpl (long double, int)
-function {long double} logl (long double)
-function {long double} log10l (long double)
-function {long double} log2l (long double)
-function {long double} modfl (long double, long double*)
-function {long double} powl (long double, long double)
-function {long double} sinl (long double)
-function {long double} sinhl (long double)
-function {long double} sqrtl (long double)
-function {long double} tanl (long double)
-function {long double} tanhl (long double)
-function {long double} erfl (long double)
-function {long double} erfcl (long double)
-function {long double} hypotl (long double, long double)
-function {long double} lgammal (long double)
-function {long double} tgammal (long double)
-function {long double} acoshl (long double)
-function {long double} asinhl (long double)
-function {long double} atanhl (long double)
-function {long double} cbrtl (long double)
-function {long double} expm1l (long double)
-function int ilogbl (long double)
-function {long double} log1pl (long double)
-function {long double} logbl (long double)
-function {long double} nextafterl (long double, long double)
-function {long double} nexttowardl (long double, long double)
-function {long double} nearbyintl (long double)
-function {long double} remainderl (long double, long double)
-function {long double} rintl (long double)
-function {long double} roundl (long double)
-function {long double} truncl (long double)
-function long lrintl (long double)
-function {long long} llrintl (long double)
-function long lroundl (long double)
-function {long long} llroundl (long double)
-function {long double} remquol (long double, long double, int*)
-function {long double} scalbnl (long double, int)
-function {long double} scalblnl (long double, long)
-function {long double} fdiml (long double, long double)
-function {long double} fmaxl (long double, long double)
-function {long double} fminl (long double, long double)
-function {long double} fmal (long double, long double, long double)
-function {long double} nanl (const char*)
-#else
-allow acosf
-allow asinf
-allow atanf
-allow atan2f
-allow ceilf
-allow cosf
-allow coshf
-allow expf
-allow fabsf
-allow floorf
-allow fmodf
-allow frexpf
-allow ldexpf
-allow logf
-allow log10f
-allow modff
-allow powf
-allow sinf
-allow sinhf
-allow sqrtf
-allow tanf
-allow tanhf
-
-allow acosl
-allow asinl
-allow atanl
-allow atan2l
-allow ceill
-allow cosl
-allow coshl
-allow expl
-allow fabsl
-allow floorl
-allow fmodl
-allow frexpl
-allow ldexpl
-allow logl
-allow log10l
-allow modfl
-allow powl
-allow sinl
-allow sinhl
-allow sqrtl
-allow tanl
-allow tanhl
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-allow FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
-#endif
diff --git a/conform/data/monetary.h-data b/conform/data/monetary.h-data
deleted file mode 100644
index 4f0cb9b681..0000000000
--- a/conform/data/monetary.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-type size_t
-type ssize_t
-# if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-# endif
-
-function ssize_t strfmon (char*, size_t, const char*, ...)
-# if defined XOPEN2K8 || defined POSIX2008
-function ssize_t strfmon_l (char*, size_t, locale_t, const char*, ...)
-# endif
-
-allow *_t
-#endif
diff --git a/conform/data/mqueue.h-data b/conform/data/mqueue.h-data
deleted file mode 100644
index 42ccd8551e..0000000000
--- a/conform/data/mqueue.h-data
+++ /dev/null
@@ -1,47 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
-// should test for not an array type.
-type mqd_t
-
-type {struct sigevent}
-element {struct sigevent} int sigev_notify
-element {struct sigevent} int sigev_signo
-element {struct sigevent} {union sigval} sigev_value
-element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
-element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
-
-type {struct mq_attr}
-// Bug 21279: mq_attr elements have wrong type.
-xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_flags
-xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_maxmsg
-xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_msgsize
-xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_curmsgs
-
-function int mq_close (mqd_t)
-function int mq_getattr (mqd_t, struct mq_attr*)
-function int mq_notify (mqd_t, const struct sigevent*)
-function mqd_t mq_open (const char*, int, ...)
-function ssize_t mq_receive (mqd_t, char*, size_t, unsigned int*)
-function int mq_send (mqd_t, const char*, size_t, unsigned int)
-function int mq_setattr (mqd_t, const struct mq_attr*, struct mq_attr*)
-function int mq_unlink (const char*)
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-optional-function ssize_t mq_timedreceive (mqd_t, char*, size_t, unsigned int*, const struct timespec*)
-optional-function int mq_timedsend (mqd_t, const char*, size_t, unsigned int, const struct timespec*)
-#endif
-
-#if defined XOPEN2K8 || defined POSIX2008
-type pthread_attr_t
-type size_t
-type ssize_t
-type {struct timespec}
-#endif
-
-allow-header fcntl.h
-allow-header signal.h
-allow-header sys/types.h
-allow-header time.h
-
-allow mq_*
-allow MQ_*
-allow *_t
-#endif
diff --git a/conform/data/ndbm.h-data b/conform/data/ndbm.h-data
deleted file mode 100644
index 2ee7a59253..0000000000
--- a/conform/data/ndbm.h-data
+++ /dev/null
@@ -1,28 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-type datum
-element datum {void*} dptr
-element datum size_t dsize
-
-type size_t
-
-type DBM
-
-type mode_t
-
-constant DBM_INSERT
-constant DBM_REPLACE
-
-function int dbm_clearerr (DBM*)
-function void dbm_close (DBM*)
-function int dbm_delete (DBM*, datum)
-function int dbm_error (DBM*)
-function datum dbm_fetch (DBM*, datum)
-function datum dbm_firstkey (DBM*)
-function datum dbm_nextkey (DBM*)
-function {DBM*} dbm_open (const char*, int, mode_t)
-function int dbm_store (DBM*, datum, datum, int)
-
-allow dbm_*
-allow DBM_*
-allow *_t
-#endif
diff --git a/conform/data/net/if.h-data b/conform/data/net/if.h-data
deleted file mode 100644
index 8a4d89c067..0000000000
--- a/conform/data/net/if.h-data
+++ /dev/null
@@ -1,16 +0,0 @@
-#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
-element {struct if_nameindex} {char*} if_name
-
-macro IF_NAMESIZE
-
-function {unsigned int} if_nametoindex (const char*)
-function {char*} if_indextoname (unsigned int, char*)
-function {struct if_nameindex*} if_nameindex (void)
-function void if_freenameindex (struct if_nameindex*)
-
-allow *_t
-allow IF_*
-#endif
diff --git a/conform/data/netdb.h-data b/conform/data/netdb.h-data
deleted file mode 100644
index c6d8b70a0d..0000000000
--- a/conform/data/netdb.h-data
+++ /dev/null
@@ -1,118 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-optional-type in_port_t
-optional-type in_addr_t
-
-type {struct hostent}
-
-element {struct hostent} {char*} h_name
-element {struct hostent} {char**} h_aliases
-element {struct hostent} int h_addrtype
-element {struct hostent} int h_length
-element {struct hostent} {char**} h_addr_list
-
-type {struct netent}
-
-element {struct netent} {char*} n_name
-element {struct netent} {char**} n_aliases
-element {struct netent} int n_addrtype
-// Bug 21260: n_net has wrong type.
-xfail[alpha-linux]-element {struct netent} uint32_t n_net
-
-type uint32_t
-
-type {struct protoent}
-
-element {struct protoent} {char*} p_name
-element {struct protoent} {char**} p_aliases
-element {struct protoent} int p_proto
-
-type {struct servent}
-
-element {struct servent} {char*} s_name
-element {struct servent} {char**} s_aliases
-element {struct servent} int s_port
-element {struct servent} {char*} s_proto
-
-macro IPPORT_RESERVED
-
-#if !defined XOPEN2K8 && !defined POSIX2008
-// variable int h_errno
-allow h_errno
-
-macro HOST_NOT_FOUND
-macro NO_DATA
-macro NO_RECOVERY
-macro TRY_AGAIN
-#endif
-
-#if !defined XPG42 && !defined UNIX98
-type {struct addrinfo}
-element {struct addrinfo} int ai_flags
-element {struct addrinfo} int ai_family
-element {struct addrinfo} int ai_socktype
-element {struct addrinfo} int ai_protocol
-element {struct addrinfo} socklen_t ai_addrlen
-element {struct addrinfo} {struct sockaddr*} ai_addr
-element {struct addrinfo} {char*} ai_canonname
-element {struct addrinfo} {struct addrinfo*} ai_next
-
-macro AI_PASSIVE
-macro AI_CANONNAME
-macro AI_NUMERICHOST
-macro AI_V4MAPPED
-macro AI_ALL
-macro AI_ADDRCONFIG
-macro AI_NUMERICSERV
-
-macro NI_NOFQDN
-macro NI_NUMERICHOST
-macro NI_NAMEREQD
-macro NI_NUMERICSERV
-macro NI_DGRAM
-
-macro EAI_AGAIN
-macro EAI_BADFLAGS
-macro EAI_FAIL
-macro EAI_FAMILY
-macro EAI_MEMORY
-macro EAI_NONAME
-macro EAI_SERVICE
-macro EAI_SOCKTYPE
-macro EAI_SYSTEM
-macro EAI_OVERFLOW
-#endif
-
-function void endhostent (void)
-function void endnetent (void)
-function void endprotoent (void)
-function void endservent (void)
-#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**)
-#endif
-function {struct hostent*} gethostbyaddr (const void*, socklen_t, int)
-function {struct hostent*} gethostbyname (const char*)
-function {struct hostent*} gethostent (void)
-#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)
-function {struct netent*} getnetbyname (const char*)
-function {struct netent*} getnetent (void)
-function {struct protoent*} getprotobyname (const char *)
-function {struct protoent*} getprotobynumber (int)
-function {struct protoent*} getprotoent (void)
-function {struct servent*} getservbyname (const char*, const char*)
-function {struct servent*} getservbyport (int, const char*)
-function {struct servent*} getservent (void)
-function void sethostent (int)
-function void setnetent (int)
-function void setprotoent (int)
-function void setservent (int)
-
-type socklen_t
-
-allow-header netinet/in.h
-allow-header inttypes.h
-#endif
diff --git a/conform/data/netinet/in.h-data b/conform/data/netinet/in.h-data
deleted file mode 100644
index ac26a74e9e..0000000000
--- a/conform/data/netinet/in.h-data
+++ /dev/null
@@ -1,95 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-type in_port_t
-type in_addr_t
-
-type sa_family_t
-
-type {struct in_addr}
-
-element {struct in_addr} in_addr_t s_addr
-
-type {struct sockaddr_in}
-
-element {struct sockaddr_in} sa_family_t sin_family
-element {struct sockaddr_in} in_port_t sin_port
-element {struct sockaddr_in} {struct in_addr} sin_addr
-element {struct sockaddr_in} {unsigned char} sin_zero [8]
-
-type {struct in6_addr}
-
-element {struct in6_addr} uint8_t s6_addr [16]
-
-type {struct sockaddr_in6}
-
-element {struct sockaddr_in6} sa_family_t sin6_family
-element {struct sockaddr_in6} in_port_t sin6_port
-element {struct sockaddr_in6} uint32_t sin6_flowinfo
-element {struct sockaddr_in6} {struct in6_addr} sin6_addr
-element {struct sockaddr_in6} uint32_t sin6_scope_id
-
-variable {const struct in6_addr} in6addr_any
-
-// constant IN6ADDR_ANY_INIT
-macro IN6ADDR_ANY_INIT
-
-variable {const struct in6_addr} in6addr_loopback
-
-// constant IN6ADDR_LOOPBACK_INIT
-macro IN6ADDR_LOOPBACK_INIT
-
-type {struct ipv6_mreq}
-
-element {struct ipv6_mreq} {struct in6_addr} ipv6mr_multiaddr
-element {struct ipv6_mreq} {unsigned int} ipv6mr_interface
-
-macro IPPROTO_IP
-macro IPPROTO_IPV6
-macro IPPROTO_ICMP
-macro IPPROTO_TCP
-macro IPPROTO_UDP
-
-macro INADDR_ANY
-macro INADDR_BROADCAST
-
-constant INET_ADDRSTRLEN == 16
-
-function uint32_t htonl (uint32_t)
-function uint16_t htons (uint16_t)
-function uint32_t ntohl (uint32_t)
-function uint16_t ntohs (uint16_t)
-
-allow-header inttypes.h
-allow-header sys/socket.h
-
-constant INET6_ADDRSTRLEN == 46
-
-macro IPV6_JOIN_GROUP
-macro IPV6_LEAVE_GROUP
-macro IPV6_MULTICAST_HOPS
-macro IPV6_MULTICAST_IF
-macro IPV6_MULTICAST_LOOP
-macro IPV6_UNICAST_HOPS
-
-macro IN6_IS_ADDR_UNSPECIFIED
-macro IN6_IS_ADDR_LOOPBACK
-macro IN6_IS_ADDR_MULTICAST
-macro IN6_IS_ADDR_LINKLOCAL
-macro IN6_IS_ADDR_SITELOCAL
-macro IN6_IS_ADDR_V4MAPPED
-macro IN6_IS_ADDR_V4COMPAT
-macro IN6_IS_ADDR_MC_NODELOCAL
-macro IN6_IS_ADDR_MC_LINKLOCAL
-macro IN6_IS_ADDR_MC_SITELOCAL
-macro IN6_IS_ADDR_MC_ORGLOCAL
-macro IN6_IS_ADDR_MC_GLOBAL
-
-allow IMPLINK_*
-allow IN_*
-allow IN6_*
-allow INADDR_*
-allow IP_*
-allow IPV6_*
-allow IPPORT_*
-allow IPPROTO_*
-allow SOCK_*
-#endif
diff --git a/conform/data/netinet/tcp.h-data b/conform/data/netinet/tcp.h-data
deleted file mode 100644
index 298808780d..0000000000
--- a/conform/data/netinet/tcp.h-data
+++ /dev/null
@@ -1,5 +0,0 @@
-#if defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
-macro TCP_NODELAY
-
-allow TCP_*
-#endif
diff --git a/conform/data/nl_types.h-data b/conform/data/nl_types.h-data
deleted file mode 100644
index 67a0d7a198..0000000000
--- a/conform/data/nl_types.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-type nl_catd
-type nl_item
-
-constant NL_SETD
-constant NL_CAT_LOCALE
-
-function int catclose (nl_catd)
-function {char*} catgets (nl_catd, int, int, const char*)
-function nl_catd catopen (const char*, int)
-
-allow NL_*
-allow *_t
-#endif
diff --git a/conform/data/poll.h-data b/conform/data/poll.h-data
deleted file mode 100644
index f7ebb91715..0000000000
--- a/conform/data/poll.h-data
+++ /dev/null
@@ -1,27 +0,0 @@
-#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
-element {struct pollfd} {short int} revents
-
-type nfds_t
-
-constant POLLIN
-constant POLLRDNORM
-constant POLLRDBAND
-constant POLLPRI
-constant POLLOUT
-constant POLLWRNORM
-constant POLLWRBAND
-constant POLLERR
-constant POLLHUP
-constant POLLNVAL
-
-function int poll (struct pollfd[], nfds_t, int)
-
-allow pd_*
-allow ph_*
-allow ps_*
-allow POLL*
-allow *_t
-#endif
diff --git a/conform/data/pthread.h-data b/conform/data/pthread.h-data
deleted file mode 100644
index 6b10499458..0000000000
--- a/conform/data/pthread.h-data
+++ /dev/null
@@ -1,195 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
-constant PTHREAD_CANCEL_ASYNCHRONOUS
-constant PTHREAD_CANCEL_ENABLE
-constant PTHREAD_CANCEL_DEFERRED
-constant PTHREAD_CANCEL_DISABLE
-constant PTHREAD_CANCELED
-macro PTHREAD_COND_INITIALIZER
-constant PTHREAD_CREATE_DETACHED
-constant PTHREAD_CREATE_JOINABLE
-constant PTHREAD_EXPLICIT_SCHED
-constant PTHREAD_INHERIT_SCHED
-constant PTHREAD_ONCE_INIT
-optional-constant PTHREAD_PRIO_INHERIT
-optional-constant PTHREAD_PRIO_NONE
-optional-constant PTHREAD_PRIO_PROTECT
-constant PTHREAD_PROCESS_SHARED
-constant PTHREAD_PROCESS_PRIVATE
-constant PTHREAD_SCOPE_PROCESS
-constant PTHREAD_SCOPE_SYSTEM
-macro PTHREAD_MUTEX_INITIALIZER
-# ifndef POSIX
-constant PTHREAD_MUTEX_DEFAULT
-constant PTHREAD_MUTEX_ERRORCHECK
-constant PTHREAD_MUTEX_NORMAL
-constant PTHREAD_MUTEX_RECURSIVE
-macro PTHREAD_RWLOCK_INITIALIZER
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-constant PTHREAD_MUTEX_ROBUST
-constant PTHREAD_MUTEX_STALLED
-# endif
-
-# ifndef POSIX
-type pthread_attr_t
-# ifndef UNIX98
-type pthread_barrier_t
-type pthread_barrierattr_t
-# endif
-type pthread_cond_t
-type pthread_condattr_t
-type pthread_key_t
-type pthread_mutex_t
-type pthread_mutexattr_t
-type pthread_once_t
-type pthread_rwlock_t
-type pthread_rwlockattr_t
-# ifndef UNIX98
-type pthread_spinlock_t
-# endif
-type pthread_t
-# endif
-
-function int pthread_atfork (void (*) (void), void (*) (void), void (*) (void))
-function int pthread_attr_destroy (pthread_attr_t*)
-function int pthread_attr_getdetachstate (const pthread_attr_t*, int*)
-# ifndef POSIX
-function int pthread_attr_getguardsize (const pthread_attr_t*, size_t*)
-# endif
-function int pthread_attr_getinheritsched (const pthread_attr_t*, int*)
-function int pthread_attr_getschedparam (const pthread_attr_t*, struct sched_param*)
-function int pthread_attr_getschedpolicy (const pthread_attr_t*, int*)
-function int pthread_attr_getscope (const pthread_attr_t*, int*)
-function int pthread_attr_getstackaddr (const pthread_attr_t*, void**)
-function int pthread_attr_getstacksize (const pthread_attr_t*, size_t*)
-function int pthread_attr_init (pthread_attr_t*)
-function int pthread_attr_setdetachstate (pthread_attr_t*, int)
-# ifndef POSIX
-function int pthread_attr_setguardsize (pthread_attr_t*, size_t)
-# endif
-function int pthread_attr_setinheritsched (pthread_attr_t*, int)
-function int pthread_attr_setschedparam (pthread_attr_t*, const struct sched_param*)
-function int pthread_attr_setschedpolicy (pthread_attr_t*, int)
-function int pthread_attr_setscope (pthread_attr_t*, int)
-function int pthread_attr_setstackaddr (pthread_attr_t*, void*)
-function int pthread_attr_setstacksize (pthread_attr_t*, size_t)
-# if !defined POSIX && !defined UNIX98
-function int pthread_barrier_destroy (pthread_barrier_t*)
-function int pthread_barrier_init (pthread_barrier_t*, const pthread_barrierattr_t*, unsigned int)
-function int pthread_barrier_wait (pthread_barrier_t*)
-function int pthread_barrierattr_destroy (pthread_barrierattr_t*)
-function int pthread_barrierattr_getpshared (const pthread_barrierattr_t*, int*)
-function int pthread_barrierattr_init (pthread_barrierattr_t*)
-function int pthread_barrierattr_setpshared (pthread_barrierattr_t*, int)
-# endif
-function int pthread_cancel (pthread_t)
-// function int pthread_cleanup_push (void (*) (void*), void*)
-macro pthread_cleanup_push
-// function int pthread_cleanup_pop (int)
-macro pthread_cleanup_pop
-function int pthread_cond_broadcast (pthread_cond_t*)
-function int pthread_cond_destroy (pthread_cond_t*)
-function int pthread_cond_init (pthread_cond_t*, const pthread_condattr_t*)
-function int pthread_cond_signal (pthread_cond_t*)
-function int pthread_cond_timedwait (pthread_cond_t*, pthread_mutex_t*, const struct timespec*)
-function int pthread_cond_wait (pthread_cond_t*, pthread_mutex_t*)
-function int pthread_condattr_destroy (pthread_condattr_t*)
-#if !defined POSIX && !defined UNIX98 && !defined XOPEN2K
-optional-function int pthread_condattr_getclock (const pthread_condattr_t*, clockid_t*)
-#endif
-function int pthread_condattr_getpshared (const pthread_condattr_t*, int*)
-function int pthread_condattr_init (pthread_condattr_t*)
-#if !defined POSIX && !defined UNIX98 && !defined XOPEN2K
-optional-function int pthread_condattr_setclock (pthread_condattr_t*, clockid_t)
-#endif
-function int pthread_condattr_setpshared (pthread_condattr_t*, int)
-function int pthread_create (pthread_t*, const pthread_attr_t*, void *(*) (void*), void*)
-function int pthread_detach (pthread_t)
-function int pthread_equal (pthread_t, pthread_t)
-function void pthread_exit (void*)
-# if !defined POSIX && !defined POSIX2008
-function int pthread_getconcurrency (void)
-# endif
-# if !defined POSIX && !defined UNIX98
-function int pthread_getcpuclockid (pthread_t, clockid_t*)
-# endif
-function int pthread_getschedparam (pthread_t, int*, struct sched_param*)
-function {void*} pthread_getspecific (pthread_key_t)
-function int pthread_join (pthread_t, void**)
-function int pthread_key_create (pthread_key_t*, void (*)(void*))
-function int pthread_key_delete (pthread_key_t)
-function int pthread_mutex_destroy (pthread_mutex_t*)
-optional-function int pthread_mutex_getprioceiling (const pthread_mutex_t*, int*)
-function int pthread_mutex_init (pthread_mutex_t*, const pthread_mutexattr_t*)
-function int pthread_mutex_lock (pthread_mutex_t*)
-optional-function int pthread_mutex_setprioceiling (pthread_mutex_t*, int, int*)
-# if !defined POSIX && !defined UNIX98
-function int pthread_mutex_timedlock (pthread_mutex_t*, const struct timespec*)
-# endif
-function int pthread_mutex_trylock (pthread_mutex_t*)
-function int pthread_mutex_unlock (pthread_mutex_t*)
-function int pthread_mutexattr_destroy (pthread_mutexattr_t*)
-optional-function int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t*, int*)
-optional-function int pthread_mutexattr_getprotocol (const pthread_mutexattr_t*, int*)
-function int pthread_mutexattr_getpshared (const pthread_mutexattr_t*, int*)
-# if !defined POSIX
-function int pthread_mutexattr_gettype (const pthread_mutexattr_t*, int*)
-# endif
-function int pthread_mutexattr_init (pthread_mutexattr_t*)
-optional-function int pthread_mutexattr_setprioceiling (pthread_mutexattr_t*, int)
-optional-function int pthread_mutexattr_setprotocol (pthread_mutexattr_t*, int)
-function int pthread_mutexattr_setpshared (pthread_mutexattr_t*, int)
-# if !defined POSIX
-function int pthread_mutexattr_settype (pthread_mutexattr_t*, int)
-# endif
-function int pthread_once (pthread_once_t*, void (*) (void))
-# if !defined POSIX
-function int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*)
-function int pthread_rwlock_rdlock (pthread_rwlock_t*)
-# endif
-# if !defined POSIX && !defined UNIX98
-function int pthread_rwlock_timedrdlock (pthread_rwlock_t*, const struct timespec*)
-function int pthread_rwlock_timedwrlock (pthread_rwlock_t*, const struct timespec*)
-# endif
-# if !defined POSIX
-function int pthread_rwlock_tryrdlock (pthread_rwlock_t*)
-function int pthread_rwlock_trywrlock (pthread_rwlock_t*)
-function int pthread_rwlock_unlock (pthread_rwlock_t*)
-function int pthread_rwlock_wrlock (pthread_rwlock_t*)
-function int pthread_rwlockattr_destroy (pthread_rwlockattr_t*)
-function int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t*, int*)
-function int pthread_rwlockattr_init (pthread_rwlockattr_t*)
-function int pthread_rwlockattr_setpshared (pthread_rwlockattr_t*, int)
-# endif
-function pthread_t pthread_self (void)
-function int pthread_setcancelstate (int, int*)
-function int pthread_setcanceltype (int, int*)
-# if !defined POSIX && !defined POSIX2008
-function int pthread_setconcurrency (int)
-# endif
-function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
-function int pthread_setspecific (pthread_key_t, const void*)
-# if !defined POSIX && !defined UNIX98 && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-function int pthread_sigmask (int, const sigset_t*, sigset_t*)
-# endif
-# if !defined POSIX && !defined UNIX98
-function int pthread_spin_destroy (pthread_spinlock_t*)
-function int pthread_spin_init (pthread_spinlock_t*, int)
-function int pthread_spin_lock (pthread_spinlock_t*)
-function int pthread_spin_trylock (pthread_spinlock_t*)
-function int pthread_spin_unlock (pthread_spinlock_t*)
-# endif
-function void pthread_testcancel (void)
-# if defined XOPEN2K8 || defined POSIX2008
-function int pthread_mutex_consistent (pthread_mutex_t *)
-function int pthread_mutexattr_getrobust (const pthread_mutexattr_t*, int*)
-function int pthread_mutexattr_setrobust (pthread_mutexattr_t*, int)
-# endif
-
-allow-header sched.h
-allow-header time.h
-
-allow PTHREAD_*
-allow pthread_*
-allow *_t
-#endif
diff --git a/conform/data/pwd.h-data b/conform/data/pwd.h-data
deleted file mode 100644
index e86433d6a7..0000000000
--- a/conform/data/pwd.h-data
+++ /dev/null
@@ -1,34 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#ifdef POSIX
-# define uid_t __uid_t
-# define gid_t __gid_t
-#endif
-
-type {struct passwd}
-element {struct passwd} {char*} pw_name
-element {struct passwd} uid_t pw_uid
-element {struct passwd} gid_t pw_gid
-element {struct passwd} {char*} pw_dir
-element {struct passwd} {char*} pw_shell
-
-# ifndef POSIX
-type uid_t
-type gid_t
-# if defined XOPEN2K8 || defined POSIX2008
-type size_t
-# endif
-# endif
-
-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 XPG4 && !defined POSIX && !defined POSIX2008
-function void endpwent (void)
-function {struct passwd*} getpwent (void)
-function void setpwent (void)
-# endif
-
-allow pw_*
-allow *_t
-#endif
diff --git a/conform/data/regex.h-data b/conform/data/regex.h-data
deleted file mode 100644
index 04f9034f81..0000000000
--- a/conform/data/regex.h-data
+++ /dev/null
@@ -1,45 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type regex_t
-element regex_t size_t re_nsub
-
-type regoff_t
-
-type regmatch_t
-element regmatch_t regoff_t rm_so
-element regmatch_t regoff_t rm_eo
-
-constant REG_EXTENDED
-constant REG_ICASE
-constant REG_NOSUB
-constant REG_NEWLINE
-
-constant REG_NOTBOL
-constant REG_NOTEOL
-
-constant REG_NOMATCH
-constant REG_BADPAT
-constant REG_ECOLLATE
-constant REG_ECTYPE
-constant REG_EESCAPE
-constant REG_ESUBREG
-constant REG_EBRACK
-constant REG_EPAREN
-constant REG_EBRACE
-constant REG_BADBR
-constant REG_ERANGE
-constant REG_ESPACE
-constant REG_BADRPT
-# if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
-constant REG_ENOSYS
-# endif
-
-function int regcomp (regex_t*, const char*, int)
-function int regexec (const regex_t*, const char*, size_t, regmatch_t[], int)
-function size_t regerror (int, const regex_t*, char*, size_t)
-function void regfree (regex_t*)
-
-allow REG_*
-allow re_*
-allow rm_*
-allow *_t
-#endif
diff --git a/conform/data/sched.h-data b/conform/data/sched.h-data
deleted file mode 100644
index 63e5eb2567..0000000000
--- a/conform/data/sched.h-data
+++ /dev/null
@@ -1,42 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
-# if defined POSIX || defined UNIX98
-# include "time.h-data"
-# else
-allow-header time.h
-# endif
-
-type {struct sched_param}
-element {struct sched_param} int sched_priority
-# if !defined POSIX && !defined UNIX98
-optional-element {struct sched_param} int sched_ss_low_priority
-optional-element {struct sched_param} {struct timespec} sched_ss_repl_period
-optional-element {struct sched_param} {struct timespec} sched_ss_init_budget
-optional-element {struct sched_param} int sched_ss_max_repl
-# endif
-
-# if defined XOPEN2K8 || defined POSIX2008
-type pid_t
-type time_t
-type {struct timespec}
-# endif
-
-constant SCHED_FIFO
-constant SCHED_RR
-# if !defined POSIX && !defined UNIX98
-optional-constant SCHED_SPORADIC
-# endif
-constant SCHED_OTHER
-
-function int sched_get_priority_max (int)
-function int sched_get_priority_min (int)
-function int sched_getparam (pid_t, struct sched_param*)
-function int sched_getscheduler (pid_t)
-function int sched_rr_get_interval (pid_t, struct timespec*)
-function int sched_setparam (pid_t, const struct sched_param*)
-function int sched_setscheduler (pid_t, int, const struct sched_param*)
-function int sched_yield (void)
-
-allow sched_*
-allow SCHED_*
-allow *_t
-#endif
diff --git a/conform/data/search.h-data b/conform/data/search.h-data
deleted file mode 100644
index e99f7e6c1d..0000000000
--- a/conform/data/search.h-data
+++ /dev/null
@@ -1,34 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-type ENTRY
-type {struct entry}
-element {struct entry} {char*} key
-element {struct entry} {void*} data
-
-type ACTION
-constant FIND
-constant ENTER
-
-type VISIT
-constant preorder
-constant postorder
-constant endorder
-constant leaf
-
-function int hcreate (size_t)
-function void hdestroy (void)
-function {ENTRY*} hsearch (ENTRY, ACTION)
-#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 XPG4
-function void remque (void*)
-#endif
-function {void*} tdelete (const void*, void**, int(*)(const void*, const void*))
-function {void*} tfind (const void*, void*const*, int(*)(const void*, const void*))
-function {void*} tsearch (const void*, void**, int(*)(const void*, const void*))
-function void twalk (const void*, void (*) (const void*, VISIT, int))
-
-allow *_t
-#endif
diff --git a/conform/data/semaphore.h-data b/conform/data/semaphore.h-data
deleted file mode 100644
index 066c2f721b..0000000000
--- a/conform/data/semaphore.h-data
+++ /dev/null
@@ -1,32 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
-type sem_t
-
-constant SEM_FAILED
-
-function int sem_close (sem_t*)
-function int sem_destroy (sem_t*)
-function int sem_getvalue (sem_t*, int*)
-function int sem_init (sem_t*, int, unsigned int)
-function {sem_t*} sem_open (const char*, int, ...)
-function int sem_post (sem_t*)
-# if !defined POSIX && !defined UNIX98
-function int sem_timedwait (sem_t*, const struct timespec*)
-# endif
-function int sem_trywait (sem_t*)
-function int sem_unlink (const char*)
-function int sem_wait (sem_t*)
-
-allow-header fcntl.h
-# if !defined POSIX2008 && !defined XOPEN2K8
-allow-header sys/types.h
-# endif
-// Consider addition of this permission in POSIX.1:2008 as a bug fix,
-// so allow for POSIX.1:2001 as well since that includes sem_timedwait.
-# if !defined POSIX && !defined UNIX98
-allow-header time.h
-# endif
-
-allow sem_*
-allow SEM_*
-allow *_t
-#endif
diff --git a/conform/data/setjmp.h-data b/conform/data/setjmp.h-data
deleted file mode 100644
index af28ddb59a..0000000000
--- a/conform/data/setjmp.h-data
+++ /dev/null
@@ -1,24 +0,0 @@
-type jmp_buf
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type sigjmp_buf
-#endif
-
-function void longjmp (jmp_buf, int)
-#if !defined ISO && !defined ISO99 && !defined ISO11
-function void siglongjmp (sigjmp_buf, int)
-# if !defined POSIX && !defined POSIX2008
-function void _longjmp (jmp_buf, int)
-# endif
-#endif
-
-macro-function int setjmp (jmp_buf)
-#if !defined ISO && !defined ISO99 && !defined ISO11
-macro-function int sigsetjmp (sigjmp_buf, int)
-# if !defined POSIX && !defined POSIX2008
-macro-function int _setjmp (jmp_buf)
-# endif
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data
deleted file mode 100644
index 571816484f..0000000000
--- a/conform/data/signal.h-data
+++ /dev/null
@@ -1,313 +0,0 @@
-macro-constant SIG_DFL {void(*)(int)}
-macro-constant SIG_ERR {void(*)(int)}
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-macro-constant SIG_HOLD {void(*)(int)}
-#endif
-macro-constant SIG_IGN {void(*)(int)}
-
-type sig_atomic_t
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type sigset_t
-#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-type pid_t
-#elif defined POSIX
-# define pid_t __pid_t
-# define uid_t __uid_t
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-type size_t
-type pthread_t
-type uid_t
-
-type mcontext_t
-
-type ucontext_t
-element ucontext_t {ucontext_t*} uc_link
-element ucontext_t sigset_t uc_sigmask
-element ucontext_t stack_t uc_stack
-element ucontext_t mcontext_t uc_mcontext
-
-type {struct timespec}
-element {struct timespec} __time_t tv_sec
-// Bug 16437: tv_nsec has wrong type.
-xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
-#endif
-
-#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-element {union sigval} int sival_int
-element {union sigval} {void*} sival_ptr
-
-type {struct sigevent}
-
-// Test the elements of the sigevent_t structure.
-element {struct sigevent} int sigev_notify
-element {struct sigevent} int sigev_signo
-element {struct sigevent} {union sigval} sigev_value
-element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
-element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
-
-constant SIGEV_NONE
-constant SIGEV_SIGNAL
-constant SIGEV_THREAD
-
-type {union sigval}
-
-macro SIGRTMIN
-macro SIGRTMAX
-#endif
-
-macro-int-constant SIGABRT {int} > 0
-macro-int-constant SIGFPE {int} > 0
-macro-int-constant SIGILL {int} > 0
-macro-int-constant SIGINT {int} > 0
-macro-int-constant SIGSEGV {int} > 0
-macro-int-constant SIGTERM {int} > 0
-
-function void (*signal (int, void(*)(int)))(int)
-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 SIGKILL {int} > 0
-macro-int-constant SIGPIPE {int} > 0
-macro-int-constant SIGQUIT {int} > 0
-macro-int-constant SIGUSR1 {int} > 0
-macro-int-constant SIGUSR2 {int} > 0
-macro-int-constant SIGCHLD {int} > 0
-macro-int-constant SIGCONT {int} > 0
-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 XPG4
-macro-int-constant SIGBUS {int} > 0
-# endif
-# 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 XPG4 && !defined POSIX2008
-macro-int-constant SIGTRAP {int} > 0
-# endif
-# if !defined POSIX && !defined XPG4
-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}
-
-element {struct sigaction} {void(*} sa_handler )(int)
-element {struct sigaction} sigset_t sa_mask
-element {struct sigaction} int sa_flags
-# ifndef XPG4
-element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*)
-# endif
-
-constant SA_NOCLDSTOP
-# ifndef XPG4
-constant SA_SIGINFO
-# endif
-constant SIG_BLOCK
-constant SIG_UNBLOCK
-constant SIG_SETMASK
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-constant SA_ONSTACK
-# endif
-# if !defined XPG4 && !defined POSIX
-constant SA_RESETHAND
-constant SA_RESTART
-constant SA_NOCLDWAIT
-constant SA_NODEFER
-# endif
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-constant SS_ONSTACK
-constant SS_DISABLE
-constant MINSIGSTKSZ
-constant SIGSTKSZ
-# endif
-
-# if !defined XPG4 && !defined POSIX
-type ucontext_t
-
-element ucontext_t {ucontext_t*} uc_link
-element ucontext_t sigset_t uc_sigmask
-element ucontext_t stack_t uc_stack
-element ucontext_t mcontext_t uc_mcontext
-
-type stack_t
-
-element stack_t {void*} ss_sp
-element stack_t size_t ss_size
-element stack_t int ss_flags
-
-# if !defined XOPEN2K8 && !defined POSIX2008
-type {struct sigstack}
-
-element {struct sigstack} int ss_onstack
-element {struct sigstack} {void*} ss_sp
-# endif
-# endif
-
-# ifndef XPG4
-type siginfo_t
-
-element siginfo_t int si_signo
-# if !defined POSIX && !defined POSIX2008
-element siginfo_t int si_errno
-# 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 XPG42
-element siginfo_t {union sigval} si_value
-# endif
-# endif
-
-# if !defined POSIX && !defined XPG4
-constant ILL_ILLOPC
-constant ILL_ILLOPN
-constant ILL_ILLADR
-constant ILL_ILLTRP
-constant ILL_PRVOPC
-constant ILL_PRVREG
-constant ILL_COPROC
-constant ILL_BADSTK
-constant FPE_INTDIV
-constant FPE_INTOVF
-constant FPE_FLTDIV
-constant FPE_FLTOVF
-constant FPE_FLTUND
-constant FPE_FLTRES
-constant FPE_FLTINV
-constant FPE_FLTSUB
-constant SEGV_MAPERR
-constant SEGV_ACCERR
-constant BUS_ADRALN
-constant BUS_ADRERR
-constant BUS_OBJERR
-constant CLD_EXITED
-constant CLD_KILLED
-constant CLD_DUMPED
-constant CLD_TRAPPED
-constant CLD_STOPPED
-constant CLD_CONTINUED
-constant POLL_IN
-constant POLL_OUT
-constant POLL_MSG
-constant POLL_ERR
-constant POLL_PRI
-constant POLL_HUP
-# endif
-# if !defined POSIX && !defined XPG4 && !defined POSIX2008
-constant TRAP_BRKPT
-constant TRAP_TRACE
-# endif
-# if !defined XPG4 && !defined XPG42
-constant SI_USER
-constant SI_QUEUE
-constant SI_TIMER
-constant SI_ASYNCIO
-constant SI_MESGQ
-# endif
-
-# if !defined XPG4 && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
-function void (*bsd_signal (int, void(*)(int)))(int)
-# endif
-function int kill (pid_t, int)
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-function int killpg (pid_t, int)
-# endif
-# if !defined XPG4 && !defined XPG42
-function int pthread_kill (pthread_t, int)
-function int pthread_sigmask (int, const sigset_t*, sigset_t*)
-# endif
-function int sigaction (int, const struct sigaction*, struct sigaction*)
-function int sigaddset (sigset_t*, int)
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-function int sigaltstack (const stack_t*, stack_t*)
-# endif
-function int sigdelset (sigset_t*, int)
-function int sigemptyset (sigset_t*)
-function int sigfillset (sigset_t*)
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-function int sighold (int)
-function int sigignore (int)
-function int siginterrupt (int, int)
-# endif
-function int sigismember (const sigset_t*, int)
-#if !defined XPG4 && !defined POSIX && !defined POSIX2008
-function int sigpause (int)
-# endif
-function int sigpending (sigset_t*)
-function int sigprocmask (int, const sigset_t*, sigset_t*)
-# if !defined XPG4 && !defined XPG42
-function int sigqueue (pid_t, int, const union sigval)
-# endif
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-function int sigrelse (int)
-function void (*sigset (int, void(*)(int)))(int)
-# endif
-# if defined XPG42 || defined UNIX98
-function int sigstack (struct sigstack*, struct sigstack*)
-# endif
-function int sigsuspend (const sigset_t*)
-# if !defined XPG4 && !defined XPG42
-function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
-# endif
-# if !defined XPG4 && !defined XPG42
-function int sigwait (const sigset_t*, int*)
-function int sigwaitinfo (const sigset_t*, siginfo_t*)
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-function void psiginfo (const siginfo_t*, const char*)
-function void psignal (int, const char*)
-# endif
-
-// The following expressions are not entirely correct but the current
-// poorfnmatch implementation doesn't grok the right form.
-allow sa_*
-allow SA_*
-# ifndef XPG4
-allow si_*
-allow SI_*
-# endif
-# if !defined XPG4 && !defined XPG42
-allow sigev_*
-allow SIGEV_*
-allow sival_*
-# endif
-# if !defined POSIX && !defined XPG4 && !defined XPG42
-allow uc_*
-# endif
-# if !defined POSIX && !defined XPG4
-allow BUS_*
-allow CLD_*
-allow FPE_*
-allow ILL_*
-allow POLL_*
-allow SEGV_*
-# endif
-# if !defined POSIX && !defined XPG4 && !defined POSIX2008
-allow SS_*
-allow SV_*
-allow TRAP_*
-allow ss_*
-allow sv_*
-# endif
-allow *_t
-
-allow-header time.h
-#endif
-
-allow SIG[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
-allow SIG_*
diff --git a/conform/data/spawn.h-data b/conform/data/spawn.h-data
deleted file mode 100644
index de4aaa7fe2..0000000000
--- a/conform/data/spawn.h-data
+++ /dev/null
@@ -1,43 +0,0 @@
-#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
-type mode_t
-type pid_t
-type sigset_t
-type {struct sched_param}
-# endif
-
-constant POSIX_SPAWN_RESETIDS
-constant POSIX_SPAWN_SETPGROUP
-constant POSIX_SPAWN_SETSCHEDPARAM
-constant POSIX_SPAWN_SETSCHEDULER
-constant POSIX_SPAWN_SETSIGDEF
-constant POSIX_SPAWN_SETSIGMASK
-
-function int posix_spawnattr_destroy (posix_spawnattr_t*)
-function int posix_spawnattr_getsigdefault (const posix_spawnattr_t*, sigset_t*)
-function int posix_spawnattr_getflags (const posix_spawnattr_t*, short*)
-function int posix_spawnattr_getpgroup (const posix_spawnattr_t*, pid_t*)
-function int posix_spawnattr_getschedparam (const posix_spawnattr_t*, struct sched_param*)
-function int posix_spawnattr_getschedpolicy (const posix_spawnattr_t*, int*)
-function int posix_spawnattr_getsigmask (const posix_spawnattr_t*, sigset_t*)
-function int posix_spawnattr_init (posix_spawnattr_t*)
-function int posix_spawnattr_setsigdefault (posix_spawnattr_t*, const sigset_t*)
-function int posix_spawnattr_setflags (posix_spawnattr_t*, short)
-function int posix_spawnattr_setpgroup (posix_spawnattr_t*, pid_t)
-function int posix_spawnattr_setschedparam (posix_spawnattr_t*, const struct sched_param*)
-function int posix_spawnattr_setschedpolicy (posix_spawnattr_t*, int)
-function int posix_spawnattr_setsigmask (posix_spawnattr_t*, const sigset_t*)
-function int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t*, int)
-function int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t*, int, int)
-function int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t*, int, const char *, int, mode_t)
-function int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t*)
-function int posix_spawn_file_actions_init (posix_spawn_file_actions_t*)
-function int posix_spawn (pid_t*, const char*, const posix_spawn_file_actions_t*, const posix_spawnattr_t*, char *const[], char *const[]);
-function int posix_spawnp (pid_t*, const char*, const posix_spawn_file_actions_t*, const posix_spawnattr_t*, char *const[], char *const[]);
-
-allow-header sched.h
-allow-header signal.h
-allow-header sys/types.h
-#endif
diff --git a/conform/data/stdalign.h-data b/conform/data/stdalign.h-data
deleted file mode 100644
index edc2310e98..0000000000
--- a/conform/data/stdalign.h-data
+++ /dev/null
@@ -1,6 +0,0 @@
-#if defined ISO11
-macro alignas
-macro alignof
-macro-int-constant __alignas_is_defined {int} == 1
-macro-int-constant __alignof_is_defined {int} == 1
-#endif
diff --git a/conform/data/stdarg.h-data b/conform/data/stdarg.h-data
deleted file mode 100644
index 53addb91fa..0000000000
--- a/conform/data/stdarg.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-type va_list
-
-// XXX We didn't check the parameters.
-macro va_start
-macro va_arg
-macro va_end
-
-#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
-macro va_copy
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/stdbool.h-data b/conform/data/stdbool.h-data
deleted file mode 100644
index a030e9cffe..0000000000
--- a/conform/data/stdbool.h-data
+++ /dev/null
@@ -1,10 +0,0 @@
-#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
-macro-int-constant __bool_true_false_are_defined {int} == 1
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#endif
diff --git a/conform/data/stddef.h-data b/conform/data/stddef.h-data
deleted file mode 100644
index 9ded4f1ca0..0000000000
--- a/conform/data/stddef.h-data
+++ /dev/null
@@ -1,15 +0,0 @@
-macro-constant NULL == 0
-
-macro offsetof
-
-type ptrdiff_t
-type wchar_t
-type size_t
-
-#if defined ISO11
-type max_align_t
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/stdint.h-data b/conform/data/stdint.h-data
deleted file mode 100644
index 4e84e17fb8..0000000000
--- a/conform/data/stdint.h-data
+++ /dev/null
@@ -1,119 +0,0 @@
-#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
-type int32_t
-type int64_t
-type uint8_t
-type uint16_t
-type uint32_t
-type uint64_t
-
-type int_least8_t
-type int_least16_t
-type int_least32_t
-type int_least64_t
-type uint_least8_t
-type uint_least16_t
-type uint_least32_t
-type uint_least64_t
-
-type int_fast8_t
-type int_fast16_t
-type int_fast32_t
-type int_fast64_t
-type uint_fast8_t
-type uint_fast16_t
-type uint_fast32_t
-type uint_fast64_t
-
-type intptr_t
-type uintptr_t
-
-type intmax_t
-type uintmax_t
-
-macro-int-constant INT8_MIN {promoted:int8_t} == -128
-macro-int-constant INT8_MAX {promoted:int8_t} == 127
-macro-int-constant INT16_MIN {promoted:int16_t} == -32768
-macro-int-constant INT16_MAX {promoted:int16_t} == 32767
-macro-int-constant INT32_MIN {promoted:int32_t} == -2147483647-1
-macro-int-constant INT32_MAX {promoted:int32_t} == 2147483647
-macro-int-constant INT64_MIN {promoted:int64_t} == -9223372036854775807LL-1
-macro-int-constant INT64_MAX {promoted:int64_t} == 9223372036854775807LL
-
-macro-int-constant UINT8_MAX {promoted:uint8_t} == 255
-macro-int-constant UINT16_MAX {promoted:uint16_t} == 65535
-macro-int-constant UINT32_MAX {promoted:uint32_t} == 4294967295U
-macro-int-constant UINT64_MAX {promoted:uint64_t} == 18446744073709551615ULL
-
-macro-int-constant INT_LEAST8_MIN {promoted:int_least8_t} <= -128
-macro-int-constant INT_LEAST8_MAX {promoted:int_least8_t} >= 127
-macro-int-constant INT_LEAST16_MIN {promoted:int_least16_t} <= -32768
-macro-int-constant INT_LEAST16_MAX {promoted:int_least16_t} >= 32767
-macro-int-constant INT_LEAST32_MIN {promoted:int_least32_t} <= -2147483647-1
-macro-int-constant INT_LEAST32_MAX {promoted:int_least32_t} >= 2147483647
-macro-int-constant INT_LEAST64_MIN {promoted:int_least64_t} <= -9223372036854775807LL-1
-macro-int-constant INT_LEAST64_MAX {promoted:int_least64_t} >= 9223372036854775807LL
-
-macro-int-constant UINT_LEAST8_MAX {promoted:uint_least8_t} >= 255
-macro-int-constant UINT_LEAST16_MAX {promoted:uint_least16_t} >= 65535
-macro-int-constant UINT_LEAST32_MAX {promoted:uint_least32_t} >= 4294967295U
-macro-int-constant UINT_LEAST64_MAX {promoted:uint_least64_t} >= 18446744073709551615ULL
-
-macro-int-constant INT_FAST8_MIN {promoted:int_fast8_t} <= -128
-macro-int-constant INT_FAST8_MAX {promoted:int_fast8_t} >= 127
-macro-int-constant INT_FAST16_MIN {promoted:int_fast16_t} <= -32768
-macro-int-constant INT_FAST16_MAX {promoted:int_fast16_t} >= 32767
-macro-int-constant INT_FAST32_MIN {promoted:int_fast32_t} <= -2147483647-1
-macro-int-constant INT_FAST32_MAX {promoted:int_fast32_t} >= 2147483647
-macro-int-constant INT_FAST64_MIN {promoted:int_fast64_t} <= -9223372036854775807LL-1
-macro-int-constant INT_FAST64_MAX {promoted:int_fast64_t} >= 9223372036854775807LL
-
-macro-int-constant UINT_FAST8_MAX {promoted:uint_fast8_t} >= 255
-macro-int-constant UINT_FAST16_MAX {promoted:uint_fast16_t} >= 65535
-macro-int-constant UINT_FAST32_MAX {promoted:uint_fast32_t} >= 4294967295U
-macro-int-constant UINT_FAST64_MAX {promoted:uint_fast64_t} >= 18446744073709551615ULL
-
-macro-int-constant INTPTR_MIN {promoted:intptr_t} <= -32768
-macro-int-constant INTPTR_MAX {promoted:intptr_t} >= 32767
-
-macro-int-constant UINTPTR_MAX {promoted:uintptr_t} >= 65535
-
-macro-int-constant INTMAX_MIN {promoted:intmax_t} <= -9223372036854775807LL-1
-macro-int-constant INTMAX_MAX {promoted:intmax_t} >= 9223372036854775807LL
-
-macro-int-constant UINTMAX_MAX {promoted:uintmax_t} >= 18446744073709551615ULL
-
-macro-int-constant PTRDIFF_MIN {promoted:__PTRDIFF_TYPE__} <= -65535
-macro-int-constant PTRDIFF_MAX {promoted:__PTRDIFF_TYPE__} >= 65535
-
-macro-int-constant SIG_ATOMIC_MIN {promoted:__SIG_ATOMIC_TYPE__}
-macro-int-constant SIG_ATOMIC_MAX {promoted:__SIG_ATOMIC_TYPE__} >= 127
-
-macro-int-constant SIZE_MAX {promoted:__SIZE_TYPE__} >= 65535
-
-macro-int-constant WCHAR_MIN {promoted:__WCHAR_TYPE__}
-macro-int-constant WCHAR_MAX {promoted:__WCHAR_TYPE__} >= 127
-
-macro-int-constant WINT_MIN {promoted:__WINT_TYPE__}
-macro-int-constant WINT_MAX {promoted:__WINT_TYPE__} >= 127
-
-macro INT8_C
-macro INT16_C
-macro INT32_C
-macro INT64_C
-macro UINT8_C
-macro UINT16_C
-macro UINT32_C
-macro UINT64_C
-macro INTMAX_C
-macro UINTMAX_C
-
-// The following expressions are not entirely correct but the current
-// poorfnmatch implementation doesn't grok the right forms (INT*_MAX,
-// INT*_MIN, INT*_C, UINT*_MAX, UINT*_MIN, UINT*_C, int*_t, uint*_t).
-allow INT*
-allow UINT*
-allow *_t
-#endif
diff --git a/conform/data/stdio.h-data b/conform/data/stdio.h-data
deleted file mode 100644
index f69802cc70..0000000000
--- a/conform/data/stdio.h-data
+++ /dev/null
@@ -1,194 +0,0 @@
-macro-int-constant BUFSIZ >= 256
-macro-int-constant FILENAME_MAX
-macro-int-constant FOPEN_MAX >= 8
-
-macro-int-constant _IOFBF
-macro-int-constant _IOLBF
-macro-int-constant _IONBF
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-constant L_ctermid
-# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-# ifdef POSIX
-optional-constant L_cuserid
-# else
-constant L_cuserid
-# endif
-# endif
-#endif
-macro-int-constant L_tmpnam
-
-macro-int-constant SEEK_CUR
-macro-int-constant SEEK_END
-macro-int-constant SEEK_SET
-
-macro-int-constant TMP_MAX >= 10000
-
-macro-int-constant EOF < 0
-
-macro-constant NULL == 0
-
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-constant P_tmpdir
-#endif
-
-macro stdin {FILE *}
-macro stdout {FILE *}
-macro stderr {FILE *}
-
-type FILE
-type fpos_t
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-type va_list
-#else
-#define va_list _G_va_list
-#endif
-type size_t
-#if defined XOPEN2K8 || defined POSIX2008
-type off_t
-type ssize_t
-#endif
-
-function void clearerr (FILE*)
-#if !defined ISO && !defined ISO99 && !defined ISO11
-function {char*} ctermid (char*)
-# if defined XPG4 || defined XPG42 || defined UNIX98
-function {char*} cuserid (char*)
-# endif
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-function int dprintf (int, const char*, ...)
-#endif
-function int fclose (FILE*)
-#if !defined ISO && !defined ISO99 && !defined ISO11
-function {FILE*} fdopen (int, const char*)
-#endif
-function int feof (FILE*)
-function int ferror (FILE*)
-function int fflush (FILE*)
-function int fgetc (FILE*)
-function int fgetpos (FILE*, fpos_t*)
-function {char*} fgets (char*, int, FILE*)
-#if !defined ISO && !defined ISO99 && !defined ISO11
-function int fileno (FILE*)
-#endif
-#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function void flockfile (FILE*)
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-function {FILE*} fmemopen (void*, size_t, const char*)
-#endif
-function {FILE*} fopen (const char*, const char*)
-function int fprintf (FILE*, const char*, ...)
-function int fputc (int, FILE*)
-function int fputs (const char*, FILE*)
-function size_t fread (void*, size_t, size_t, FILE*)
-function {FILE*} freopen (const char*, const char*, FILE*)
-function int fscanf (FILE*, const char*, ...)
-function int fseek (FILE*, long int, int)
-#if defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int fseeko (FILE*, off_t, int)
-#endif
-function int fsetpos (FILE*, const fpos_t*)
-function {long int} ftell (FILE*)
-#if defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function off_t ftello (FILE*)
-#endif
-#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int ftrylockfile (FILE*)
-function void funlockfile (FILE*)
-#endif
-function size_t fwrite (const void*, size_t, size_t, FILE*)
-function int getc (FILE*)
-function int getchar (void)
-#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int getc_unlocked (FILE*)
-function int getchar_unlocked (void)
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-function ssize_t getdelim (char**, size_t*, int, FILE*)
-function ssize_t getline (char**, size_t*, FILE*)
-#endif
-#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 XPG4 || defined XPG42 || defined UNIX98
-function int getw (FILE*)
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-function {FILE*} open_memstream (char**, size_t*)
-#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11
-function int pclose (FILE*)
-#endif
-function void perror (const char*)
-#if !defined ISO && !defined ISO99 && !defined ISO11
-function {FILE*} popen (const char*, const char*)
-#endif
-function int printf (const char*, ...)
-function int putc (int, FILE*)
-function int putchar (int)
-#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int putc_unlocked (int, FILE*)
-function int putchar_unlocked (int)
-#endif
-function int puts (const char*)
-#if defined XPG4 || defined XPG42 || defined UNIX98
-function int putw (int, FILE*)
-#endif
-function int remove (const char*)
-function int rename (const char*, const char*)
-#if defined XOPEN2K8 || defined POSIX2008
-function int renameat (int, const char*, int, const char*)
-#endif
-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 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 XPG4 || defined XPG42 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8
-function {char*} tempnam (const char*, const char*)
-#endif
-function {FILE*} tmpfile (void)
-function {char*} tmpnam (char*)
-function int ungetc (int, FILE*)
-#if defined XOPEN2K8 || defined POSIX2008
-function int vdprintf (int, const char*, va_list)
-#endif
-function int vfprintf (FILE*, const char*, va_list)
-#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 XPG4 && !defined XPG42 && !defined UNIX98
-function int vscanf (const char*, va_list)
-#endif
-#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 XPG4 && !defined XPG42 && !defined UNIX98
-function int vsscanf (const char*, const char*, va_list)
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-variable {char*} optarg
-variable int opterr
-variable int optind
-variable int optopt
-#endif
-
-#if !defined POSIX
-allow-header stddef.h
-#endif
-
-allow *_t
-#endif
diff --git a/conform/data/stdlib.h-data b/conform/data/stdlib.h-data
deleted file mode 100644
index d8fcccc2fb..0000000000
--- a/conform/data/stdlib.h-data
+++ /dev/null
@@ -1,202 +0,0 @@
-type div_t
-element div_t int quot
-element div_t int rem
-type ldiv_t
-element ldiv_t long quot
-element ldiv_t long rem
-
-macro-int-constant EXIT_FAILURE
-macro-int-constant EXIT_SUCCESS == 0
-
-macro-constant NULL == 0
-macro-int-constant RAND_MAX >= 32767
-macro MB_CUR_MAX
-
-#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-type lldiv_t
-element lldiv_t {long long} quot
-element lldiv_t {long long} rem
-#endif
-type size_t
-type wchar_t
-
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-constant WNOHANG
-constant WUNTRACED
-
-macro WEXITSTATUS
-macro WIFEXITED
-macro WIFSIGNALED
-macro WIFSTOPPED
-macro WSTOPSIG
-macro WTERMSIG
-#endif
-
-#if !defined ISO && !defined XPG4 && !defined XPG42 && !defined UNIX98 && !defined POSIX
-function void _Exit (int)
-#endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008
-function long a64l (const char*)
-#endif
-function void abort (void)
-function int abs (int)
-#if defined ISO11
-function {void *} aligned_alloc (size_t, size_t)
-#endif
-function int atexit (void(*)(void))
-#if defined ISO11
-function int at_quick_exit (void (*) (void))
-#endif
-function double atof (const char*)
-function int atoi (const char*)
-function {long int} atol (const char*)
-#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*))
-function {void*} calloc (size_t, size_t)
-function div_t div (int, int)
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function double drand48 (void)
-#endif
-#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 XPG42 || defined UNIX98 || defined XOPEN2K
-function {char*} fcvt (double, int, int*, int*)
-#endif
-function void free (void*)
-#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 XPG4 && !defined POSIX
-function int getsubopt (char**, char *const*, char**)
-#endif
-#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 XPG4 && !defined POSIX && !defined POSIX2008
-function {char*} l64a (long)
-#endif
-function {long int} labs (long int)
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function void lcong48 (unsigned short int[7])
-#endif
-function ldiv_t ldiv (long int, long int)
-#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
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function {long int} lrand48 (void)
-#endif
-function {void*} malloc (size_t)
-function int mblen (const char*, size_t)
-function size_t mbstowcs (wchar_t*, const char*, size_t)
-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 XPG4 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
-function {char*} mktemp (char*)
-#endif
-#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
-function {long int} mrand48 (void)
-function {long int} nrand48 (unsigned short int[3])
-#endif
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int posix_memalign (void**, size_t, size_t)
-#endif
-#if defined XOPEN2K || defined XOPEN2K8
-function int posix_openpt (int)
-#endif
-#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
-function int putenv (char*)
-#endif
-function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
-#if defined ISO11
-function void quick_exit (int)
-#endif
-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 XPG4 && !defined POSIX && !defined POSIX2008
-function long random (void)
-#endif
-function {void*} realloc (void*, size_t)
-#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 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 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 XPG4 && !defined POSIX && !defined POSIX2008
-function void srandom (unsigned)
-#endif
-function double strtod (const char*, char**)
-#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 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 XPG42 || defined UNIX98
-function int ttyslot (void)
-#endif
-#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 XPG4 && !defined XPG42 && !defined UNIX98
-function int unsetenv (const char*)
-#endif
-#if defined XPG42 || defined UNIX98
-function {void*} valloc (size_t)
-#endif
-function size_t wcstombs (char*, const wchar_t*, size_t)
-function int wctomb (char*, wchar_t)
-
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-allow-header stddef.h
-allow-header limits.h
-allow-header math.h
-allow-header sys/wait.h
-#endif
-
-allow str[abcdefghijklmnopqrstuvwxyz]*
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/stdnoreturn.h-data b/conform/data/stdnoreturn.h-data
deleted file mode 100644
index 77b9a589d8..0000000000
--- a/conform/data/stdnoreturn.h-data
+++ /dev/null
@@ -1,3 +0,0 @@
-#if defined ISO11
-macro noreturn
-#endif
diff --git a/conform/data/string.h-data b/conform/data/string.h-data
deleted file mode 100644
index e06f941498..0000000000
--- a/conform/data/string.h-data
+++ /dev/null
@@ -1,73 +0,0 @@
-macro-constant NULL == 0
-
-type size_t
-#if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-#endif
-
-#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined POSIX && !defined POSIX2008
-function {void*} memccpy (void*, const void*, int, size_t)
-#endif
-function {void*} memchr (const void*, int, size_t)
-function int memcmp (const void*, const void*, size_t)
-function {void*} memcpy (void*, const void*, size_t)
-function {void*} memmove (void*, const void*, size_t)
-function {void*} memset (void*, int, size_t)
-#if defined XOPEN2K8 || defined POSIX2008
-function {char*} stpcpy (char*, const char*)
-function {char*} stpncpy (char*, const char*, size_t)
-
-#endif
-function {char*} strcat (char*, const char*)
-function {char*} strchr (const char*, int)
-function int strcmp (const char*, const char*)
-function int strcoll (const char*, const char*)
-#if defined XOPEN2K8 || defined POSIX2008
-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 XPG4 && !defined POSIX && !defined POSIX2008
-function {char*} strdup (const char*)
-#endif
-function {char*} strerror (int)
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function int strerror_r (int, char*, size_t)
-#endif
-#if defined XOPEN2K8 || defined POSIX2008
-function {char*} strerror_l (int, locale_t)
-#endif
-function size_t strlen (const char*)
-function {char*} strncat (char*, const char*, size_t)
-function int strncmp (const char*, const char*, size_t)
-function {char*} strncpy (char*, const char*, size_t)
-#if defined XOPEN2K8 || defined POSIX2008
-function {char*} strndup (const char*, size_t)
-function size_t strnlen (const char*, size_t)
-#endif
-function {char*} strpbrk (const char*, const char*)
-function {char*} strrchr (const char*, int)
-#if defined XOPEN2K8 || defined POSIX2008
-function {char*} strsignal (int)
-#endif
-function size_t strspn (const char*, const char*)
-function {char*} strstr (const char*, const char*)
-function {char*} strtok (char*, const char*)
-#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
-function {char*} strtok_r (char*, const char*, char**)
-#endif
-function size_t strxfrm (char*, const char*, size_t)
-#if defined XOPEN2K8 || defined POSIX2008
-function size_t strxfrm_l (char*, const char*, size_t, locale_t)
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-allow-header stddef.h
-#endif
-
-allow str[abcdefghijklmnopqrstuvwxyz]*
-allow mem[abcdefghijklmnopqrstuvwxyz]*
-allow wcs[abcdefghijklmnopqrstuvwxyz]*
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
diff --git a/conform/data/strings.h-data b/conform/data/strings.h-data
deleted file mode 100644
index 13827ebed9..0000000000
--- a/conform/data/strings.h-data
+++ /dev/null
@@ -1,25 +0,0 @@
-#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)
-function void bzero (void*, size_t)
-function {char*} index (const char*, int)
-function {char*} rindex (const char*, int)
-# endif
-# if !defined POSIX2008
-function int ffs (int)
-# endif
-function int strcasecmp (const char*, const char*)
-function int strncasecmp (const char*, const char*, size_t)
-# if defined XOPEN2K8 || defined POSIX2008
-function int strcasecmp_l (const char*, const char*, locale_t)
-function int strncasecmp_l (const char*, const char*, size_t, locale_t)
-# endif
-
-type size_t
-# if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-# endif
-
-allow *_t
-#endif
diff --git a/conform/data/stropts.h-data b/conform/data/stropts.h-data
deleted file mode 100644
index c4b1343411..0000000000
--- a/conform/data/stropts.h-data
+++ /dev/null
@@ -1,140 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-type {struct bandinfo}
-
-element {struct bandinfo} {unsigned char} bi_pri
-element {struct bandinfo} int bi_flag
-
-type {struct strpeek}
-
-element {struct strpeek} {struct strbuf} ctlbuf
-element {struct strpeek} {struct strbuf} databuf
-element {struct strpeek} t_uscalar_t flags
-
-type {struct strbuf}
-
-element {struct strbuf} int maxlen
-element {struct strbuf} int len
-element {struct strbuf} {char*} buf
-
-type {struct strfdinsert}
-
-element {struct strfdinsert} {struct strbuf} ctlbuf
-element {struct strfdinsert} {struct strbuf} databuf
-element {struct strfdinsert} t_uscalar_t flags
-element {struct strfdinsert} int fildes
-element {struct strfdinsert} int offset
-
-type {struct strioctl}
-
-element {struct strioctl} int ic_cmd
-element {struct strioctl} int ic_timout
-element {struct strioctl} int ic_len
-element {struct strioctl} {char*} ic_dp
-
-type {struct strrecvfd}
-
-element {struct strrecvfd} int fd
-element {struct strrecvfd} uid_t uid
-element {struct strrecvfd} gid_t gid
-
-type uid_t
-type gid_t
-
-type t_uscalar_t
-
-type {struct str_list}
-
-element {struct str_list} int sl_nmods
-element {struct str_list} {struct str_mlist*} sl_modlist
-
-type {struct str_mlist}
-
-element {struct str_mlist} char l_name [FMNAMESZ+1]
-
-macro I_PUSH
-macro I_POP
-macro I_LOOK
-macro FMNAMESZ
-macro I_FLUSH
-macro FLUSHR
-macro FLUSHW
-macro FLUSHRW
-macro I_FLUSHBAND
-macro I_SETSIG
-macro S_RDNORM
-macro S_RDBAND
-macro S_INPUT
-macro S_HIPRI
-macro S_OUTPUT
-macro S_WRNORM
-macro S_WRBAND
-macro S_MSG
-macro S_ERROR
-macro S_HANGUP
-macro S_BANDURG
-macro I_GETSIG
-macro I_FIND
-macro I_PEEK
-macro RS_HIPRI
-macro I_SRDOPT
-macro RNORM
-macro RMSGD
-macro RMSGN
-macro RPROTNORM
-macro RPROTDAT
-macro RPROTDIS
-macro I_GRDOPT
-macro I_NREAD
-macro I_FDINSERT
-macro I_STR
-macro I_SWROPT
-macro SNDZERO
-macro I_GWROPT
-macro I_SENDFD
-macro I_RECVFD
-macro I_LIST
-macro I_ATMARK
-macro ANYMARK
-macro LASTMARK
-macro I_CKBAND
-macro I_GETBAND
-macro I_CANPUT
-macro I_SETCLTIME
-macro I_GETCLTIME
-macro I_LINK
-macro I_UNLINK
-macro I_PLINK
-macro I_PUNLINK
-
-macro MSG_ANY
-macro MSG_BAND
-macro MSG_HIPRI
-macro MORECTL
-macro MOREDATA
-
-function int isastream (int)
-function int getmsg (int, struct strbuf*, struct strbuf*, int*)
-function int getpmsg (int, struct strbuf*, struct strbuf*, int*, int*)
-// Bug 14362: wrong type for ioctl.
-xfail-function int ioctl (int, int, ...)
-function int putmsg (int, const struct strbuf*, const struct strbuf*, int)
-function int putpmsg (int, const struct strbuf*, const struct strbuf*, int, int)
-function int fattach (int, const char*)
-function int fdetach (const char*)
-
-allow-header unistd.h
-
-allow bi_*
-allow ic_*
-allow l_*
-allow sl_*
-allow str_*
-allow FLUSH*
-allow I_*
-allow M_*
-allow MUXID_R*
-allow S_*
-allow SND*
-allow STR*
-allow *_t
-#endif
diff --git a/conform/data/sys/ipc.h-data b/conform/data/sys/ipc.h-data
deleted file mode 100644
index 70dc3f6fe6..0000000000
--- a/conform/data/sys/ipc.h-data
+++ /dev/null
@@ -1,31 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-type {struct ipc_perm}
-
-element {struct ipc_perm} uid_t uid
-element {struct ipc_perm} gid_t gid
-element {struct ipc_perm} uid_t cuid
-element {struct ipc_perm} gid_t cgid
-// Bug 18231: wrong type for mode member.
-xfail-element {struct ipc_perm} mode_t mode
-
-type uid_t
-type gid_t
-type mode_t
-type key_t
-
-constant IPC_CREAT
-constant IPC_EXCL
-constant IPC_NOWAIT
-
-constant IPC_PRIVATE
-
-constant IPC_RMID
-constant IPC_SET
-constant IPC_STAT
-
-function key_t ftok (const char*, int)
-
-allow ipc_*
-allow IPC_*
-allow *_t
-#endif
diff --git a/conform/data/sys/mman.h-data b/conform/data/sys/mman.h-data
deleted file mode 100644
index a74388338e..0000000000
--- a/conform/data/sys/mman.h-data
+++ /dev/null
@@ -1,64 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4
-constant PROT_READ
-constant PROT_WRITE
-constant PROT_EXEC
-constant PROT_NONE
-
-constant MAP_SHARED
-constant MAP_PRIVATE
-constant MAP_FIXED
-
-constant MS_ASYNC
-constant MS_SYNC
-constant MS_INVALIDATE
-
-constant MCL_CURRENT
-constant MCL_FUTURE
-
-constant MAP_FAILED
-
-# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-constant POSIX_MADV_NORMAL
-constant POSIX_MADV_SEQUENTIAL
-constant POSIX_MADV_RANDOM
-constant POSIX_MADV_WILLNEED
-constant POSIX_MADV_DONTNEED
-
-optional-constant POSIX_TYPED_MEM_ALLOCATE
-optional-constant POSIX_TYPED_MEM_ALLOCATE_CONTIG
-optional-constant POSIX_TYPED_MEM_MAP_ALLOCATABLE
-
-type mode_t
-
-optional-type {struct posix_typedmem_info}
-optional-element {struct posix_typedmem_info} size_t posix_tmi_length
-
-function int posix_madvise (void*, size_t, int)
-optional-function int posix_mem_offset (const void*, size_t, off_t*, size_t*, int*)
-optional-function int posix_typed_mem_get_info (int, struct posix_typed_mem_info*)
-optional-function int posix_typed_mem_open (const char*, int, int)
-# endif
-
-# ifndef POSIX
-type size_t
-type off_t
-# endif
-
-function int mlock (const void*, size_t)
-function int mlockall (int)
-function {void*} mmap (void*, size_t, int, int, int, off_t)
-function int mprotect (void*, size_t, int)
-function int msync (void*, size_t, int)
-function int munlock (const void*, size_t)
-function int munlockall (void)
-function int munmap (void*, size_t)
-function int shm_open (const char*, int, mode_t)
-function int shm_unlink (const char*)
-
-allow shm_*
-allow MAP_*
-allow MCL_*
-allow MS_*
-allow PROT_*
-allow *_t
-#endif
diff --git a/conform/data/sys/msg.h-data b/conform/data/sys/msg.h-data
deleted file mode 100644
index a8290cab52..0000000000
--- a/conform/data/sys/msg.h-data
+++ /dev/null
@@ -1,34 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-type {struct msqid_ds}
-
-type msgqnum_t
-type msglen_t
-
-constant MSG_NOERROR
-
-element {struct msqid_ds} {struct ipc_perm} msg_perm
-element {struct msqid_ds} msgqnum_t msg_qnum
-element {struct msqid_ds} msglen_t msg_qbytes
-element {struct msqid_ds} pid_t msg_lspid
-element {struct msqid_ds} pid_t msg_lrpid
-element {struct msqid_ds} time_t msg_stime
-element {struct msqid_ds} time_t msg_rtime
-element {struct msqid_ds} time_t msg_ctime
-
-type pid_t
-type time_t
-type key_t
-type size_t
-type ssize_t
-
-function int msgctl (int, int, struct msqid_ds*)
-function int msgget (key_t, int)
-function ssize_t msgrcv (int, void*, size_t, long int, int)
-function int msgsnd (int, const void*, size_t, int)
-
-allow-header sys/ipc.h
-
-allow msg*
-allow MSG*
-allow *_h
-#endif
diff --git a/conform/data/sys/resource.h-data b/conform/data/sys/resource.h-data
deleted file mode 100644
index cedbee1a40..0000000000
--- a/conform/data/sys/resource.h-data
+++ /dev/null
@@ -1,52 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-constant PRIO_PROCESS
-constant PRIO_PGRP
-constant PRIO_USER
-
-type rlim_t
-
-constant RLIM_INFINITY
-constant RLIM_SAVED_MAX
-constant RLIM_SAVED_CUR
-
-constant RUSAGE_SELF
-constant RUSAGE_CHILDREN
-
-type {struct rlimit}
-
-element {struct rlimit} rlim_t rlim_cur
-element {struct rlimit} rlim_t rlim_max
-
-type {struct rusage}
-
-element {struct rusage} {struct timeval} ru_utime
-element {struct rusage} {struct timeval} ru_stime
-
-type {struct timeval}
-
-constant RLIMIT_CORE
-constant RLIMIT_CPU
-constant RLIMIT_DATA
-constant RLIMIT_FSIZE
-constant RLIMIT_NOFILE
-constant RLIMIT_STACK
-constant RLIMIT_AS
-
-function int getpriority (int, id_t)
-function int getrlimit (int, struct rlimit*)
-function int getrusage (int, struct rusage*)
-function int setpriority (int, id_t, int)
-function int setrlimit (int, const struct rlimit*)
-
-type id_t
-
-allow-header sys/time.h
-
-allow rlim_*
-allow ru_*
-allow PRIO_*
-allow RLIM_*
-allow RLIMIT_*
-allow RUSAGE_*
-allow *_t
-#endif
diff --git a/conform/data/sys/select.h-data b/conform/data/sys/select.h-data
deleted file mode 100644
index 44d63ebd2d..0000000000
--- a/conform/data/sys/select.h-data
+++ /dev/null
@@ -1,36 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-type time_t
-type suseconds_t
-
-type {struct timeval}
-element {struct timeval} time_t tv_sec
-element {struct timeval} suseconds_t tv_usec
-
-type sigset_t
-
-type {struct timespec}
-element {struct timespec} time_t tv_sec
-// Bug 16437: tv_nsec has wrong type.
-xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
-
-type fd_set
-#if defined XPG4 || defined XPG42 || defined UNIX98
-element fd_set long fds_bits []
-#endif
-
-macro FD_CLR
-macro FD_ISSET
-macro FD_SET
-macro FD_ZERO
-
-macro FD_SETSIZE
-
-#if defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
-function int pselect (int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*)
-#endif
-function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
-
-allow-header signal.h
-allow-header sys/time.h
-allow-header time.h
-#endif
diff --git a/conform/data/sys/sem.h-data b/conform/data/sys/sem.h-data
deleted file mode 100644
index a36ab1bd91..0000000000
--- a/conform/data/sys/sem.h-data
+++ /dev/null
@@ -1,40 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-constant SEM_UNDO
-
-constant GETNCNT
-constant GETPID
-constant GETVAL
-constant GETALL
-constant GETZCNT
-constant SETVAL
-constant SETALL
-
-type {struct semid_ds}
-
-element {struct semid_ds} {struct ipc_perm} sem_perm
-// Bug 18232: wrong type for sem_nsems member.
-xfail-element {struct semid_ds} {unsigned short int} sem_nsems
-element {struct semid_ds} time_t sem_otime
-element {struct semid_ds} time_t sem_ctime
-
-type pid_t
-type time_t
-type key_t
-type size_t
-
-type {struct sembuf}
-
-element {struct sembuf} {unsigned short int} sem_num
-element {struct sembuf} {short int} sem_op
-element {struct sembuf} {short int} sem_flg
-
-function int semctl (int, int, int, ...)
-function int semget (key_t, int, int)
-function int semop (int, struct sembuf*, size_t)
-
-allow-header sys/ipc.h
-
-allow sem*
-allow SEM_*
-allow *_t
-#endif
diff --git a/conform/data/sys/shm.h-data b/conform/data/sys/shm.h-data
deleted file mode 100644
index a006cdbb92..0000000000
--- a/conform/data/sys/shm.h-data
+++ /dev/null
@@ -1,34 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-constant SHM_RDONLY
-symbol SHMLBA
-constant SHM_RND
-
-type shmatt_t
-
-type {struct shmid_ds}
-
-element {struct shmid_ds} {struct ipc_perm} shm_perm
-element {struct shmid_ds} size_t shm_segsz
-element {struct shmid_ds} pid_t shm_lpid
-element {struct shmid_ds} pid_t shm_cpid
-element {struct shmid_ds} shmatt_t shm_nattch
-element {struct shmid_ds} time_t shm_atime
-element {struct shmid_ds} time_t shm_dtime
-element {struct shmid_ds} time_t shm_ctime
-
-type pid_t
-type time_t
-type key_t
-type size_t
-
-function {void*} shmat (int, const void*, int)
-function int shmctl (int, int, struct shmid_ds*)
-function int shmdt (const void*)
-function int shmget (key_t, size_t, int)
-
-allow-header sys/ipc.h
-
-allow shm*
-allow SHM*
-allow *_t
-#endif
diff --git a/conform/data/sys/socket.h-data b/conform/data/sys/socket.h-data
deleted file mode 100644
index 8796c57570..0000000000
--- a/conform/data/sys/socket.h-data
+++ /dev/null
@@ -1,140 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-type socklen_t
-
-type sa_family_t
-
-# if defined XOPEN2K8 || defined POSIX2008
-type size_t
-type ssize_t
-# endif
-
-type {struct sockaddr}
-
-element {struct sockaddr} sa_family_t sa_family
-element {struct sockaddr} char sa_data []
-
-type {struct sockaddr_storage}
-
-element {struct sockaddr_storage} sa_family_t ss_family
-
-type {struct msghdr}
-
-element {struct msghdr} {void*} msg_name
-element {struct msghdr} socklen_t msg_namelen
-element {struct msghdr} {struct iovec*} msg_iov
-// Bug 16919: wrong type for msg_iovlen and msg_controllen members.
-xfail-element {struct msghdr} int msg_iovlen
-element {struct msghdr} {void*} msg_control
-xfail-element {struct msghdr} socklen_t msg_controllen
-element {struct msghdr} int msg_flags
-
-type {struct iovec}
-
-element {struct iovec} {void*} iov_base
-element {struct iovec} size_t iov_len
-
-type {struct cmsghdr}
-
-// Bug 16919: wrong type for cmsg_len member.
-xfail-element {struct cmsghdr} socklen_t cmsg_len
-element {struct cmsghdr} int cmsg_level
-element {struct cmsghdr} int cmsg_type
-
-macro SCM_RIGHTS
-
-macro CMSG_DATA
-macro CMSG_NXTHDR
-macro CMSG_FIRSTHDR
-
-type {struct linger}
-
-element {struct linger} int l_onoff
-element {struct linger} int l_linger
-
-macro SOCK_DGRAM
-macro SOCK_STREAM
-macro SOCK_SEQPACKET
-
-macro SOL_SOCKET
-
-macro SO_ACCEPTCONN
-macro SO_BROADCAST
-macro SO_DEBUG
-macro SO_DONTROUTE
-macro SO_ERROR
-macro SO_KEEPALIVE
-macro SO_LINGER
-macro SO_OOBINLINE
-macro SO_RCVBUF
-macro SO_RCVLOWAT
-macro SO_RCVTIMEO
-macro SO_REUSEADDR
-macro SO_SNDBUF
-macro SO_SNDLOWAT
-macro SO_SNDTIMEO
-macro SO_TYPE
-
-macro SOMAXCONN
-
-macro MSG_CTRUNC
-macro MSG_DONTROUTE
-macro MSG_EOR
-macro MSG_OOB
-macro MSG_PEEK
-macro MSG_TRUNC
-macro MSG_WAITALL
-# if defined XOPEN2K8 || defined POSIX2008
-constant MSG_NOSIGNAL
-# endif
-
-macro AF_UNIX
-macro AF_UNSPEC
-macro AF_INET
-macro AF_INET6
-
-macro SHUT_RD
-macro SHUT_WR
-macro SHUT_RDWR
-
-function int accept (int, struct sockaddr*, socklen_t*)
-function int bind (int, const struct sockaddr*, socklen_t)
-function int connect (int, const struct sockaddr*, socklen_t)
-function int getpeername (int, struct sockaddr*, socklen_t*)
-function int getsockname (int, struct sockaddr*, socklen_t*)
-function int getsockopt (int, int, int, void*, socklen_t*)
-function int listen (int, int)
-function ssize_t recv (int, void*, size_t, int)
-function ssize_t recvfrom (int, void*, size_t, int, struct sockaddr*, socklen_t*)
-function ssize_t recvmsg (int, struct msghdr*, int)
-function ssize_t send (int, const void*, size_t, int)
-function ssize_t sendmsg (int, const struct msghdr*, int)
-function ssize_t sendto (int, const void*, size_t, int, const struct sockaddr*, socklen_t)
-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 XPG42 && !defined UNIX98
-function int sockatmark (int)
-#endif
-
-allow-header sys/uio.h
-
-allow ss_*
-allow sa_*
-allow if_*
-allow ifc_*
-allow ifru_*
-allow infu_*
-allow ifra_*
-allow msg_*
-allow cmsg_*
-allow l_*
-allow SO*
-allow AF_*
-allow CMSG_*
-allow MSG_*
-allow PF_*
-allow SCM_*
-allow SHUT_*
-allow *_t
-#endif
diff --git a/conform/data/sys/stat.h-data b/conform/data/sys/stat.h-data
deleted file mode 100644
index 84452aef78..0000000000
--- a/conform/data/sys/stat.h-data
+++ /dev/null
@@ -1,161 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-
-#if !defined POSIX && !defined POSIX2008 && !defined XPG4 && !defined XPG42
-type blkcnt_t
-type blksize_t
-#endif
-#ifndef POSIX
-type dev_t
-type ino_t
-type mode_t
-type nlink_t
-type uid_t
-type gid_t
-type off_t
-type time_t
-#else
-# define dev_t __dev_t
-# define ino_t __ino_t
-# define mode_t __mode_t
-# define nlink_t __nlink_t
-# define uid_t __uid_t
-# define gid_t __gid_t
-# define off_t __off_t
-# define time_t __time_t
-#endif
-
-type {struct stat}
-
-// Bug 17786: st_dev has wrong type.
-xfail[mips-o32-linux]-element {struct stat} dev_t st_dev
-element {struct stat} ino_t st_ino
-element {struct stat} mode_t st_mode
-element {struct stat} nlink_t st_nlink
-element {struct stat} uid_t st_uid
-element {struct stat} gid_t st_gid
-#if !defined POSIX && !defined POSIX2008
-// Bug 21278: st_rdev has wrong type.
-xfail[mips-o32-linux]-element {struct stat} dev_t st_rdev
-#endif
-element {struct stat} off_t st_size
-element {struct stat} time_t st_atime
-element {struct stat} time_t st_mtime
-element {struct stat} time_t st_ctime
-#if defined XOPEN2K8 || defined POSIX2008
-element {struct stat} {struct timespec} st_atim
-element {struct stat} {struct timespec} st_mtim
-element {struct stat} {struct timespec} st_ctim
-#endif
-#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
-xfail-element {struct stat} long st_blocks
-# else
-element {struct stat} blksize_t st_blksize
-element {struct stat} blkcnt_t st_blocks
-# endif
-#endif
-
-# if defined XOPEN2K8 || defined POSIX2008
-type {struct timespec}
-element {struct timespec} time_t tv_sec
-// Bug 16437: tv_nsec has wrong type.
-xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
-# endif
-
-#if !defined POSIX && !defined POSIX2008
-constant S_IFMT
-constant S_IFBLK
-constant S_IFCHR
-constant S_IFIFO
-constant S_IFREG
-constant S_IFDIR
-# ifndef XPG4
-constant S_IFLNK
-constant S_IFSOCK
-# endif
-#endif
-
-constant S_IRWXU
-constant S_IRUSR
-constant S_IWUSR
-constant S_IXUSR
-constant S_IRWXG
-constant S_IRGRP
-constant S_IWGRP
-constant S_IXGRP
-constant S_IRWXO
-constant S_IROTH
-constant S_IWOTH
-constant S_IXOTH
-constant S_ISUID
-constant S_ISGID
-#if !defined XPG4 && !defined POSIX && !defined POSIX2008
-constant S_ISVTX
-#endif
-
-macro S_ISBLK
-macro S_ISCHR
-macro S_ISDIR
-macro S_ISFIFO
-macro S_ISREG
-#if !defined XPG4 && !defined POSIX
-macro S_ISLNK
-macro S_ISSOCK
-#endif
-
-// How to represent optional tests?
-optional-macro S_TYPEISMQ
-optional-macro S_TYPEISSEM
-optional-macro S_TYPEISSHM
-# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-optional-macro S_TYPEISTMO
-# endif
-
-# if defined XOPEN2K8 || defined POSIX2008
-constant UTIME_NOW
-constant UTIME_OMIT
-# endif
-
-function int chmod (const char*, mode_t)
-# ifndef XPG4
-function int fchmod (int, mode_t)
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-function int fchmodat (int, const char*, mode_t, int)
-# endif
-function int fstat (int, struct stat*)
-# if defined XOPEN2K8 || defined POSIX2008
-function int fstatat (int, const char*, struct stat*, int)
-function int futimens (int, const struct timespec[2])
-# endif
-#if !defined XPG4 && !defined POSIX
-function int lstat (const char*, struct stat*)
-#endif
-function int mkdir (const char*, mode_t)
-# if defined XOPEN2K8 || defined POSIX2008
-function int mkdirat (int, const char*, mode_t)
-# endif
-function int mkfifo (const char*, mode_t)
-# if defined XOPEN2K8 || defined POSIX2008
-function int mkfifoat (int, const char*, mode_t)
-# endif
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-function int mknod (const char*, mode_t, dev_t)
-# endif
-# ifdef XOPEN2K8
-function int mknodat (int, const char*, mode_t, dev_t)
-# endif
-function int stat (const char*, struct stat*)
-function mode_t umask (mode_t)
-# if defined XOPEN2K8 || defined POSIX2008
-function int utimensat (int, const char*, const struct timespec[2], int)
-# endif
-
-allow st_*
-allow S_*
-allow *_t
-#endif
diff --git a/conform/data/sys/statvfs.h-data b/conform/data/sys/statvfs.h-data
deleted file mode 100644
index efdbff012d..0000000000
--- a/conform/data/sys/statvfs.h-data
+++ /dev/null
@@ -1,28 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-type {struct statvfs}
-
-element {struct statvfs} {unsigned long} f_bsize
-element {struct statvfs} {unsigned long} f_frsize
-element {struct statvfs} fsblkcnt_t f_blocks
-element {struct statvfs} fsblkcnt_t f_bfree
-element {struct statvfs} fsblkcnt_t f_bavail
-element {struct statvfs} fsfilcnt_t f_files
-element {struct statvfs} fsfilcnt_t f_ffree
-element {struct statvfs} fsfilcnt_t f_favail
-element {struct statvfs} {unsigned long} f_fsid
-element {struct statvfs} {unsigned long} f_flag
-element {struct statvfs} {unsigned long} f_namemax
-
-type fsblkcnt_t
-type fsfilcnt_t
-
-constant ST_RDONLY
-constant ST_NOSUID
-
-function int statvfs (const char*, struct statvfs*)
-function int fstatvfs (int, struct statvfs*)
-
-allow f_*
-allow ST_*
-allow *_t
-#endif
diff --git a/conform/data/sys/time.h-data b/conform/data/sys/time.h-data
deleted file mode 100644
index 30523e1af4..0000000000
--- a/conform/data/sys/time.h-data
+++ /dev/null
@@ -1,43 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-type {struct timeval}
-
-element {struct timeval} time_t tv_sec
-element {struct timeval} suseconds_t tv_usec
-
-type {struct itimerval}
-
-element {struct itimerval} {struct timeval} it_interval
-element {struct itimerval} {struct timeval} it_value
-
-type time_t
-type suseconds_t
-
-type fd_set
-element fd_set long fds_bits []
-
-constant ITIMER_REAL
-constant ITIMER_VIRTUAL
-constant ITIMER_PROF
-
-macro FD_CLR
-macro FD_ISSET
-macro FD_SET
-macro FD_ZERO
-
-constant FD_SETSIZE
-
-function int getitimer (int, struct itimerval*)
-function int setitimer (int, const struct itimerval*, struct itimerval*)
-function int gettimeofday (struct timeval*, void*)
-function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
-function int utimes (const char*, const struct timeval [2])
-
-allow fds_*
-allow it_*
-allow tv_*
-allow FD_*
-allow ITIMER_*
-allow *_t
-
-allow-header sys/select.h
-#endif
diff --git a/conform/data/sys/timeb.h-data b/conform/data/sys/timeb.h-data
deleted file mode 100644
index 9638f73c8f..0000000000
--- a/conform/data/sys/timeb.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
-type {struct timeb}
-
-element {struct timeb} time_t time
-element {struct timeb} {unsigned short} millitm
-element {struct timeb} short timezone
-element {struct timeb} short dstflag
-
-type time_t
-
-function int ftime (struct timeb*)
-
-allow *_t
-#endif
diff --git a/conform/data/sys/times.h-data b/conform/data/sys/times.h-data
deleted file mode 100644
index c93357b793..0000000000
--- a/conform/data/sys/times.h-data
+++ /dev/null
@@ -1,15 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type {struct tms}
-
-element {struct tms} clock_t tms_utime
-element {struct tms} clock_t tms_stime
-element {struct tms} clock_t tms_cutime
-element {struct tms} clock_t tms_cstime
-
-type clock_t
-
-function clock_t times (struct tms*)
-
-allow tms_*
-allow *_t
-#endif
diff --git a/conform/data/sys/types.h-data b/conform/data/sys/types.h-data
deleted file mode 100644
index cc28eb76d4..0000000000
--- a/conform/data/sys/types.h-data
+++ /dev/null
@@ -1,62 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#if !defined POSIX
-# if !defined XPG4 && !defined XPG42
-type blkcnt_t
-type blksize_t
-# endif
-type clock_t
-# if !defined XPG4 && !defined XPG42
-type clockid_t
-# endif
-#endif
-type dev_t
-# if !defined POSIX
-type fsblkcnt_t
-type fsfilcnt_t
-# endif
-type gid_t
-#if !defined POSIX
-type id_t
-#endif
-type ino_t
-# if !defined POSIX && !defined POSIX2008
-type key_t
-# endif
-type mode_t
-type nlink_t
-type off_t
-type pid_t
-#if !defined XPG4 && !defined XPG42
-type pthread_attr_t
-#if !defined POSIX && !defined UNIX98
-type pthread_barrier_t
-type pthread_barrierattr_t
-#endif
-type pthread_cond_t
-type pthread_condattr_t
-type pthread_key_t
-type pthread_mutex_t
-type pthread_mutexattr_t
-type pthread_once_t
-#if !defined POSIX
-type pthread_rwlock_t
-type pthread_rwlockattr_t
-#endif
-#if !defined POSIX && !defined UNIX98
-type pthread_spinlock_t
-#endif
-type pthread_t
-#endif
-type size_t
-type ssize_t
-# if !defined POSIX && !defined POSIX2008
-type suseconds_t
-# endif
-# ifndef POSIX
-type time_t
-type timer_t
-# endif
-type uid_t
-
-allow *_t
-#endif
diff --git a/conform/data/sys/uio.h-data b/conform/data/sys/uio.h-data
deleted file mode 100644
index b9fc66177c..0000000000
--- a/conform/data/sys/uio.h-data
+++ /dev/null
@@ -1,14 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008
-type {struct iovec}
-
-element {struct iovec} {void*} iov_base
-element {struct iovec} size_t iov_len
-
-function ssize_t readv (int, const struct iovec*, int)
-function ssize_t writev (int, const struct iovec*, int)
-
-allow iov_*
-allow IOV_*
-allow *_t
-allow UIO_MAXIOV
-#endif
diff --git a/conform/data/sys/un.h-data b/conform/data/sys/un.h-data
deleted file mode 100644
index 1068440042..0000000000
--- a/conform/data/sys/un.h-data
+++ /dev/null
@@ -1,8 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-type {struct sockaddr_un}
-
-element {struct sockaddr_un} sa_family_t sun_family
-element {struct sockaddr_un} char sun_path []
-
-type sa_family_t
-#endif
diff --git a/conform/data/sys/utsname.h-data b/conform/data/sys/utsname.h-data
deleted file mode 100644
index 82f7f397ca..0000000000
--- a/conform/data/sys/utsname.h-data
+++ /dev/null
@@ -1,12 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type {struct utsname}
-
-element {struct utsname} char sysname []
-element {struct utsname} char nodename []
-element {struct utsname} char release []
-element {struct utsname} char version []
-element {struct utsname} char machine []
-
-function int uname (struct utsname *)
-allow *_t
-#endif
diff --git a/conform/data/sys/wait.h-data b/conform/data/sys/wait.h-data
deleted file mode 100644
index 74a062e90c..0000000000
--- a/conform/data/sys/wait.h-data
+++ /dev/null
@@ -1,88 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#ifdef POSIX
-# define pid_t __pid_t
-#endif
-
-constant WNOHANG
-constant WUNTRACED
-
-macro WEXITSTATUS
-# if !defined POSIX && !defined POSIX2008
-macro WIFCONTINUED
-# endif
-macro WIFEXITED
-macro WIFSIGNALED
-macro WIFSTOPPED
-macro WSTOPSIG
-macro WTERMSIG
-
-# ifndef POSIX
-constant WEXITED
-constant WSTOPPED
-# ifndef POSIX2008
-constant WCONTINUED
-# endif
-constant WNOHANG
-constant WNOWAIT
-# endif
-
-#if !defined POSIX
-type idtype_t
-
-constant P_ALL
-constant P_PID
-constant P_PGID
-
-type id_t
-
-type siginfo_t
-
-element siginfo_t int si_signo
-element siginfo_t int si_errno
-element siginfo_t int si_code
-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
-element siginfo_t {union sigval} si_value
-#endif
-
-#if !defined POSIX && !defined XPG4 && !defined XOPEN2K8 && !defined POSIX2008
-type {struct rusage}
-
-element {struct rusage} {struct timeval} ru_utime
-element {struct rusage} {struct timeval} ru_stime
-#endif
-
-#if !defined POSIX
-type pid_t
-#endif
-
-function pid_t wait (int*)
-#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-function pid_t wait3 (int*, int, struct rusage*)
-#endif
-#if !defined POSIX
-function int waitid (idtype_t, id_t, siginfo_t*, int)
-#endif
-function pid_t waitpid (pid_t, int*, int)
-
-#if !defined POSIX
-allow-header signal.h
-allow-header sys/resource.h
-
-allow si_*
-allow W*
-allow P_*
-allow BUS_
-allow CLD_
-allow FPE_
-allow ILL_
-allow POLL_
-allow SEGV_
-allow SI_
-allow TRAP_
-#endif
-allow *_t
-#endif
diff --git a/conform/data/syslog.h-data b/conform/data/syslog.h-data
deleted file mode 100644
index 6604d76d3e..0000000000
--- a/conform/data/syslog.h-data
+++ /dev/null
@@ -1,44 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-constant LOG_PID
-constant LOG_CONS
-constant LOG_NDELAY
-constant LOG_ODELAY
-constant LOG_NOWAIT
-
-constant LOG_KERN
-constant LOG_USER
-constant LOG_MAIL
-constant LOG_NEWS
-constant LOG_UUCP
-constant LOG_DAEMON
-constant LOG_AUTH
-constant LOG_CRON
-constant LOG_LPR
-constant LOG_LOCAL0
-constant LOG_LOCAL1
-constant LOG_LOCAL2
-constant LOG_LOCAL3
-constant LOG_LOCAL4
-constant LOG_LOCAL5
-constant LOG_LOCAL6
-constant LOG_LOCAL7
-
-macro LOG_MASK
-
-constant LOG_EMERG
-constant LOG_ALERT
-constant LOG_CRIT
-constant LOG_ERR
-constant LOG_WARNING
-constant LOG_NOTICE
-constant LOG_INFO
-constant LOG_DEBUG
-
-function void closelog (void)
-function void openlog (const char*, int, int)
-function int setlogmask (int)
-function void syslog (int, const char*, ...)
-
-allow LOG_*
-allow *_t
-#endif
diff --git a/conform/data/tar.h-data b/conform/data/tar.h-data
deleted file mode 100644
index 8477860e57..0000000000
--- a/conform/data/tar.h-data
+++ /dev/null
@@ -1,33 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-macro-str TMAGIC "ustar"
-macro-int-constant TMAGLEN {int} == 6
-macro-str TVERSION "00"
-macro-int-constant TVERSLEN {int} == 2
-
-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'
-
-macro-int-constant TSUID {int} == 04000
-macro-int-constant TSGID {int} == 02000
-# if !defined POSIX2008
-macro-int-constant TSVTX {int} == 01000
-# endif
-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
diff --git a/conform/data/termios.h-data b/conform/data/termios.h-data
deleted file mode 100644
index 9aec2f5a17..0000000000
--- a/conform/data/termios.h-data
+++ /dev/null
@@ -1,180 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type cc_t
-type speed_t
-type tcflag_t
-
-type {struct termios}
-
-#if defined XOPEN2K8 || defined POSIX2008
-type pid_t
-#endif
-
-element {struct termios} tcflag_t c_iflag
-element {struct termios} tcflag_t c_oflag
-element {struct termios} tcflag_t c_cflag
-element {struct termios} tcflag_t c_lflag
-element {struct termios} cc_t c_cc[NCCS]
-
-constant NCCS
-
-constant VEOF
-constant VEOL
-constant VERASE
-constant VINTR
-constant VKILL
-constant VMIN
-constant VQUIT
-constant VSTART
-constant VSTOP
-constant VSUSP
-constant VTIME
-
-constant BRKINT
-constant ICRNL
-constant IGNBRK
-constant IGNCR
-constant IGNPAR
-constant INLCR
-constant INPCK
-constant ISTRIP
-# if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-constant IUCLC
-# endif
-# ifndef POSIX
-constant IXANY
-# endif
-constant IXOFF
-constant IXON
-constant PARMRK
-
-constant OPOST
-# if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-constant OLCUC
-# endif
-# if !defined POSIX && !defined POSIX2008
-constant ONLCR
-constant OCRNL
-constant ONOCR
-constant ONLRET
-constant OFDEL
-constant OFILL
-constant NLDLY
-constant NL0
-constant NL1
-constant CRDLY
-constant CR0
-constant CR1
-constant CR2
-constant CR3
-constant TABDLY
-constant TAB0
-constant TAB1
-constant TAB2
-constant TAB3
-constant BSDLY
-constant BS0
-constant BS1
-constant VTDLY
-constant VT0
-constant VT1
-constant FFDLY
-constant FF0
-constant FF1
-# endif
-
-constant B0
-constant B50
-constant B75
-constant B110
-constant B134
-constant B150
-constant B200
-constant B300
-constant B600
-constant B1200
-constant B1800
-constant B2400
-constant B4800
-constant B9600
-constant B19200
-constant B38400
-
-constant CSIZE
-constant CS5
-constant CS6
-constant CS7
-constant CS8
-constant CSTOPB
-constant CREAD
-constant PARENB
-constant PARODD
-constant HUPCL
-constant CLOCAL
-
-constant ECHO
-constant ECHOE
-constant ECHOK
-constant ECHONL
-constant ICANON
-constant IEXTEN
-constant ISIG
-constant NOFLSH
-constant TOSTOP
-# if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-constant XCASE
-# endif
-
-constant TCSANOW
-constant TCSADRAIN
-constant TCSAFLUSH
-
-constant TCIFLUSH
-constant TCIOFLUSH
-
-constant TCIOFF
-constant TCION
-constant TCOOFF
-constant TCOON
-
-function speed_t cfgetispeed (const struct termios*)
-function speed_t cfgetospeed (const struct termios*)
-function int cfsetispeed (struct termios*, speed_t)
-function int cfsetospeed (struct termios*, speed_t)
-function int tcdrain (int)
-function int tcflow (int, int)
-function int tcflush (int, int)
-function int tcgetattr (int, struct termios*)
-#if !defined POSIX && !defined XPG4
-function pid_t tcgetsid (int)
-#endif
-function int tcsendbreak (int, int)
-function int tcsetattr (int, int, const struct termios*)
-
-#if !defined POSIX && !defined POSIX2008
-allow CBAUD
-allow DEFECHO
-allow ECHOCTL
-allow ECHOKE
-allow ECHOPRT
-allow EXTA
-allow EXTB
-allow FLUSHO
-allow LOBLK
-allow PENDIN
-allow SWTCH
-allow VDISCARD
-allow VDSUSP
-allow VLNEXT
-allow VREPRINT
-allow VSTATUS
-allow VWERASE
-#endif
-
-allow c_*
-allow V*
-allow I*
-allow O*
-allow TC*
-allow B[0123456789]*
-allow *_t
-#endif
diff --git a/conform/data/tgmath.h-data b/conform/data/tgmath.h-data
deleted file mode 100644
index d852adc3e4..0000000000
--- a/conform/data/tgmath.h-data
+++ /dev/null
@@ -1,66 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-#include "math.h-data"
-#include "complex.h-data"
-
-macro acos
-macro asin
-macro atan
-macro acosh
-macro asinh
-macro atanh
-macro cos
-macro sin
-macro tan
-macro cosh
-macro sinh
-macro tanh
-macro exp
-macro pow
-macro sqrt
-macro fabs
-
-macro atan2
-macro cbrt
-macro ceil
-macro copysign
-macro erf
-macro erfc
-macro exp2
-macro expm1
-macro fdim
-macro floor
-macro fma
-macro fmax
-macro fmin
-macro fmod
-macro frexp
-macro hypot
-macro ilogb
-macro ldexp
-macro lgamma
-macro llrint
-macro llround
-macro log10
-macro log1p
-macro log2
-macro logb
-macro lrint
-macro lround
-macro nearbyint
-macro nextafter
-macro nexttoward
-macro remainder
-macro remquo
-macro rint
-macro round
-macro scalbn
-macro scalbln
-macro tgamma
-macro trunc
-
-macro carg
-macro cimag
-macro conj
-macro cproj
-macro creal
-#endif
diff --git a/conform/data/time.h-data b/conform/data/time.h-data
deleted file mode 100644
index 9c1c19596e..0000000000
--- a/conform/data/time.h-data
+++ /dev/null
@@ -1,135 +0,0 @@
-macro-constant NULL == 0
-macro CLOCKS_PER_SEC {clock_t}
-
-#ifdef ISO11
-macro-int-constant TIME_UTC > 0
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined XPG4 && !defined XPG42
-type {struct timespec}
-
-element {struct timespec} time_t tv_sec
-// Bug 16437: tv_nsec has wrong type.
-xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
-#endif
-
-type size_t
-type clock_t
-type time_t
-
-type {struct tm}
-
-element {struct tm} int tm_sec
-element {struct tm} int tm_min
-element {struct tm} int tm_hour
-element {struct tm} int tm_mday
-element {struct tm} int tm_mon
-element {struct tm} int tm_year
-element {struct tm} int tm_wday
-element {struct tm} int tm_yday
-element {struct tm} int tm_isdst
-
-function clock_t clock (void)
-function double difftime (time_t, time_t)
-function time_t mktime (struct tm*)
-function time_t time (time_t*)
-function {char*} asctime (const struct tm*)
-function {char*} ctime (const time_t*)
-function {struct tm*} gmtime (const time_t*)
-function {struct tm*} localtime (const time_t*)
-function size_t strftime (char*, size_t, const char*, const struct tm*)
-#if defined ISO11
-function int timespec_get (struct timespec *, int)
-#endif
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
-symbol CLK_TCK
-# endif
-# if !defined XPG4 && !defined XPG42
-# if !defined POSIX && !defined UNIX98
-constant CLOCK_PROCESS_CPUTIME_ID
-constant CLOCK_THREAD_CPUTIME_ID
-# endif
-
-type {struct itimerspec}
-
-element {struct itimerspec} {struct timespec} it_interval
-element {struct itimerspec} {struct timespec} it_value
-
-constant CLOCK_REALTIME
-constant TIMER_ABSTIME
-# if !defined POSIX && !defined UNIX98
-constant CLOCK_MONOTONIC
-# endif
-
-type clockid_t
-type timer_t
-# endif
-
-# if defined XOPEN2K8 || defined POSIX2008
-type pid_t
-type locale_t
-tag {struct sigevent}
-# endif
-
-# if !defined XPG4 && !defined POSIX && !defined POSIX2008
-variable int getdate_err
-# endif
-
-function {char*} asctime_r (const struct tm*, char*)
-#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
-function int clock_getcpuclockid (pid_t, clockid_t*)
-#endif
-#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 XPG4 && !defined XPG42 && !defined UNIX98
-function int clock_nanosleep (clockid_t, int, const struct timespec*, struct timespec*)
-#endif
-#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 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 XPG4 && !defined XPG42
-function int nanosleep (const struct timespec*, struct timespec*)
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-function size_t strftime_l (char*, size_t, const char*, const struct tm*, locale_t)
-# endif
-# if !defined POSIX && !defined POSIX2008
-function {char*} strptime (const char*, const char*, struct tm*)
-# endif
-# 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*)
-function int timer_getoverrun (timer_t)
-function int timer_settime (timer_t, int, const struct itimerspec*, struct itimerspec*)
-# endif
-function void tzset (void)
-
-# if !defined POSIX && !defined POSIX2008
-variable int daylight
-variable {long int} timezone
-# endif
-variable {char*} tzname [2]
-
-# ifndef POSIX
-allow tm_*
-# endif
-allow clock_*
-allow timer_*
-allow it_*
-allow tv_*
-allow CLOCK_*
-allow TIMER_*
-allow *_t
-allow sigevent
-#endif
diff --git a/conform/data/uchar.h-data b/conform/data/uchar.h-data
deleted file mode 100644
index ef27617bc4..0000000000
--- a/conform/data/uchar.h-data
+++ /dev/null
@@ -1,12 +0,0 @@
-#if defined ISO11
-type mbstate_t
-type size_t
-type char16_t
-type char32_t
-
-function size_t mbrtoc16 (char16_t *, const char *, size_t, mbstate_t *)
-function size_t c16rtomb (char *, char16_t, mbstate_t *)
-function size_t mbrtoc32 (char32_t *, const char *, size_t, mbstate_t *)
-function size_t c32rtomb (char *, char32_t, mbstate_t *)
-
-#endif
diff --git a/conform/data/ucontext.h-data b/conform/data/ucontext.h-data
deleted file mode 100644
index c1ddf19d94..0000000000
--- a/conform/data/ucontext.h-data
+++ /dev/null
@@ -1,22 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined XOPEN2K8
-type mcontext_t
-
-type ucontext_t
-
-element ucontext_t {ucontext_t*} uc_link
-element ucontext_t sigset_t uc_sigmask
-element ucontext_t stack_t uc_stack
-element ucontext_t mcontext_t uc_mcontext
-
-type sigset_t
-type stack_t
-
-function int getcontext (ucontext_t*)
-function int setcontext (const ucontext_t*)
-function void makecontext (ucontext_t*, void(*)(void), int, ...)
-function int swapcontext (ucontext_t*, const ucontext_t*)
-
-allow uc_*
-allow ss_*
-allow *_t
-#endif
diff --git a/conform/data/ulimit.h-data b/conform/data/ulimit.h-data
deleted file mode 100644
index 1e5e5b471d..0000000000
--- a/conform/data/ulimit.h-data
+++ /dev/null
@@ -1,9 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-constant UL_GETFSIZE
-constant UL_SETFSIZE
-
-function {long int} ulimit (int, ...)
-
-allow UL_*
-allow *_t
-#endif
diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data
deleted file mode 100644
index ddf4f25132..0000000000
--- a/conform/data/unistd.h-data
+++ /dev/null
@@ -1,615 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#ifdef POSIX
-# define uid_t __uid_t
-# define gid_t __gid_t
-# define off_t __off_t
-# define pid_t __pid_t
-#endif
-
-constant _POSIX_VERSION
-#if defined POSIX || defined XPG4 || defined XPG42 || defined UNIX98
-constant _POSIX2_C_VERSION
-#endif
-#ifndef POSIX
-optional-constant _XOPEN_VERSION
-optional-constant _XOPEN_XCU_VERSION
-#endif
-
-#ifndef POSIX
-optional-constant _POSIX2_C_BIND
-#endif
-optional-constant _POSIX2_CHAR_TERM
-optional-constant _POSIX2_LOCALEDEF
-optional-constant _POSIX2_UPE
-#ifndef POSIX
-optional-constant _POSIX2_VERSION
-#endif
-
-#ifndef POSIX
-optional-constant _XOPEN_XPG2
-optional-constant _XOPEN_XPG3
-optional-constant _XOPEN_XPG4
-optional-constant _XOPEN_UNIX
-#endif
-
-#ifndef POSIX
-optional-constant _POSIX_ADVISORY_INFO
-#endif
-optional-constant _POSIX_ASYNCHRONOUS_IO
-#ifndef POSIX
-optional-constant _POSIX_BARRIERS
-#endif
-optional-constant _POSIX_CHOWN_RESTRICTED
-#ifndef POSIX
-optional-constant _POSIX_CLOCK_SELECTION
-optional-constant _POSIX_CPUTIME
-#endif
-optional-constant _POSIX_NO_TRUNC
-optional-constant _POSIX_VDISABLE
-optional-constant _POSIX_SAVED_IDS
-optional-constant _POSIX_JOB_CONTROL
-#ifndef POSIX
-optional-constant _POSIX_MONOTONIC_CLOCK
-optional-constant _POSIX_READER_WRITER_LOCKS
-optional-constant _POSIX_SHELL
-optional-constant _POSIX_SPAWN
-optional-constant _POSIX_SPIN_LOCKS
-optional-constant _POSIX_SPORADIC_SERVER
-optional-constant _POSIX_THREAD_CPUTIME
-optional-constant _POSIX_TYPED_MEMORY_OBJECTS
-#endif
-
-optional-constant _POSIX_THREADS
-optional-constant _POSIX_THREAD_ATTR_STACKADDR
-optional-constant _POSIX_THREAD_ATTR_STACKSIZE
-optional-constant _POSIX_THREAD_PROCESS_SHARED
-optional-constant _POSIX_THREAD_SAFE_FUNCTIONS
-#ifndef POSIX
-optional-constant _POSIX_THREAD_SPORADIC_SERVER
-#endif
-
-# ifdef XOPEN2K
-optional-constant _POSIX_V6_ILP32_OFF32
-optional-constant _POSIX_V6_ILP32_OFFBIG
-optional-constant _POSIX_V6_LP64_OFF64
-optional-constant _POSIX_V6_LPBIG_OFFBIG
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-optional-constant _POSIX_V7_ILP32_OFF32
-optional-constant _POSIX_V7_ILP32_OFFBIG
-optional-constant _POSIX_V7_LP64_OFF64
-optional-constant _POSIX_V7_LPBIG_OFFBIG
-# endif
-
-optional-constant _POSIX2_C_DEV
-optional-constant _POSIX2_FORT_DEV
-optional-constant _POSIX2_FORT_RUN
-optional-constant _POSIX2_SW_DEV
-# if !defined POSIX && !defined POSIX2008
-optional-constant _XOPEN_CRYPT
-optional-constant _XOPEN_ENH_I18N
-optional-constant _XOPEN_LEGACY
-optional-constant _XOPEN_REALTIME
-optional-constant _XOPEN_REALTIME_THREADS
-optional-constant _XOPEN_SHM
-optional-constant _XOPEN_STREAMS
-# endif
-# ifndef POSIX
-allow _XBS5_ILP32_OFF32
-allow _XBS5_ILP32_OFBIG
-allow _XBS5_LP64_OFF64
-allow _XBS5_LPBIG_OFFBIG
-#endif
-optional-constant _POSIX_MEMLOCK
-optional-constant _POSIX_MEMLOCK_RANGE
-optional-constant _POSIX_MESSAGE_PASSING
-optional-constant _POSIX_PRIORITY_SCHEDULING
-optional-constant _POSIX_REALTIME_SIGNALS
-optional-constant _POSIX_SEMAPHORES
-optional-constant _POSIX_SHARED_MEMORY_OBJECTS
-optional-constant _POSIX_SYNCHRONIZED_IO
-optional-constant _POSIX_TIMERS
-#ifndef POSIX
-optional-constant _POSIX_TIMEOUTS
-#endif
-
-optional-constant _POSIX_FSYNC
-optional-constant _POSIX_MAPPED_FILES
-optional-constant _POSIX_MEMORY_PROTECTION
-
-optional-constant _POSIX_PRIORITIZED_IO
-
-optional-constant _POSIX_THREAD_PRIORITY_SCHEDULING
-optional-constant _POSIX_THREAD_PRIO_INHERIT
-optional-constant _POSIX_THREAD_PRIO_PROTECT
-
-optional-constant _POSIX_ASYNC_IO
-optional-constant _POSIX_PRIO_IO
-optional-constant _POSIX_SYNC_IO
-
-#ifndef POSIX
-optional-constant _POSIX2_PBS
-optional-constant _POSIX2_PBS_ACCOUNTING
-optional-constant _POSIX2_PBS_CHECKPOINT
-optional-constant _POSIX2_PBS_LOCATE
-optional-constant _POSIX2_PBS_MESSAGE
-optional-constant _POSIX2_PBS_TRACK
-#endif
-
-#ifndef POSIX
-optional-constant _POSIX_TIMESTAMP_RESOLUTION
-#endif
-
-constant NULL
-
-constant R_OK
-constant W_OK
-constant X_OK
-constant F_OK
-
-constant _CS_PATH
-#ifndef POSIX
-constant _CS_XBS5_ILP32_OFF32_CFLAGS
-constant _CS_XBS5_ILP32_OFF32_LDFLAGS
-constant _CS_XBS5_ILP32_OFF32_LIBS
-constant _CS_XBS5_ILP32_OFF32_LINTFLAGS
-constant _CS_XBS5_ILP32_OFFBIG_CFLAGS
-constant _CS_XBS5_ILP32_OFFBIG_LDFLAGS
-constant _CS_XBS5_ILP32_OFFBIG_LIBS
-constant _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
-constant _CS_XBS5_LP64_OFF64_CFLAGS
-constant _CS_XBS5_LP64_OFF64_LDFLAGS
-constant _CS_XBS5_LP64_OFF64_LIBS
-constant _CS_XBS5_LP64_OFF64_LINTFLAGS
-constant _CS_XBS5_LPBIG_OFFBIG_CFLAGS
-constant _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
-constant _CS_XBS5_LPBIG_OFFBIG_LIBS
-constant _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
-#endif
-
-constant SEEK_SET
-constant SEEK_CUR
-constant SEEK_END
-
-#ifndef POSIX
-constant _SC_2_C_BIND
-#endif
-constant _SC_2_C_DEV
-#ifndef POSIX
-constant _SC_2_C_VERSION
-#endif
-constant _SC_2_CHAR_TERM
-constant _SC_2_FORT_DEV
-constant _SC_2_FORT_RUN
-constant _SC_2_LOCALEDEF
-#ifndef POSIX
-constant _SC_2_PBS
-constant _SC_2_PBS_ACCOUNTING
-constant _SC_2_PBS_CHECKPOINT
-constant _SC_2_PBS_LOCATE
-constant _SC_2_PBS_MESSAGE
-constant _SC_2_PBS_TRACK
-#endif
-constant _SC_2_SW_DEV
-constant _SC_2_UPE
-constant _SC_2_VERSION
-constant _SC_ARG_MAX
-constant _SC_AIO_LISTIO_MAX
-constant _SC_AIO_MAX
-constant _SC_AIO_PRIO_DELTA_MAX
-constant _SC_ASYNCHRONOUS_IO
-#ifndef POSIX
-constant _SC_ATEXIT_MAX
-constant _SC_BARRIERS
-constant _SC_BASE
-#endif
-constant _SC_BC_BASE_MAX
-constant _SC_BC_DIM_MAX
-constant _SC_BC_SCALE_MAX
-constant _SC_BC_STRING_MAX
-constant _SC_CHILD_MAX
-constant _SC_CLK_TCK
-#ifndef POSIX
-constant _SC_CLOCK_SELECTION
-#endif
-constant _SC_COLL_WEIGHTS_MAX
-constant _SC_DELAYTIMER_MAX
-#ifndef POSIX
-constant _SC_DEVICE_IO
-constant _SC_DEVICE_SPECIFIC
-constant _SC_DEVICE_SPECIFIC_R
-#endif
-constant _SC_EXPR_NEST_MAX
-#ifndef POSIX
-constant _SC_FD_MGMT
-constant _SC_FIFO
-constant _SC_FILE_ATTRIBUTES
-constant _SC_FILE_LOCKING
-constant _SC_FILE_SYSTEM
-#endif
-constant _SC_FSYNC
-constant _SC_GETGR_R_SIZE_MAX
-constant _SC_GETPW_R_SIZE_MAX
-#ifndef POSIX
-constant _SC_IOV_MAX
-#endif
-constant _SC_JOB_CONTROL
-constant _SC_LINE_MAX
-constant _SC_LOGIN_NAME_MAX
-constant _SC_MAPPED_FILES
-constant _SC_MEMLOCK
-constant _SC_MEMLOCK_RANGE
-constant _SC_MEMORY_PROTECTION
-constant _SC_MESSAGE_PASSING
-#ifndef POSIX
-constant _SC_MONOTONIC_CLOCK
-#endif
-constant _SC_MQ_OPEN_MAX
-constant _SC_MQ_PRIO_MAX
-#ifndef POSIX
-constant _SC_NETWORKING
-#endif
-constant _SC_NGROUPS_MAX
-constant _SC_OPEN_MAX
-constant _SC_PAGESIZE
-#ifndef POSIX
-constant _SC_PAGE_SIZE
-constant _SC_PASS_MAX
-constant _SC_PIPE
-#endif
-constant _SC_PRIORITIZED_IO
-constant _SC_PRIORITY_SCHEDULING
-constant _SC_RE_DUP_MAX
-#ifndef POSIX
-constant _SC_READER_WRITER_LOCKS
-#endif
-constant _SC_REALTIME_SIGNALS
-#ifndef POSIX
-constant _SC_REGEXP
-#endif
-constant _SC_RTSIG_MAX
-constant _SC_SAVED_IDS
-constant _SC_SEMAPHORES
-constant _SC_SEM_NSEMS_MAX
-constant _SC_SEM_VALUE_MAX
-constant _SC_SHARED_MEMORY_OBJECTS
-#ifndef POSIX
-constant _SC_SHELL
-constant _SC_SIGNALS
-#endif
-constant _SC_SIGQUEUE_MAX
-#ifndef POSIX
-constant _SC_SINGLE_PROCESS
-constant _SC_SPIN_LOCKS
-#endif
-constant _SC_STREAM_MAX
-constant _SC_SYNCHRONIZED_IO
-constant _SC_THREADS
-constant _SC_THREAD_ATTR_STACKADDR
-constant _SC_THREAD_ATTR_STACKSIZE
-constant _SC_THREAD_DESTRUCTOR_ITERATIONS
-constant _SC_THREAD_KEYS_MAX
-constant _SC_THREAD_PRIORITY_SCHEDULING
-constant _SC_THREAD_PRIO_INHERIT
-constant _SC_THREAD_PRIO_PROTECT
-constant _SC_THREAD_PROCESS_SHARED
-constant _SC_THREAD_SAFE_FUNCTIONS
-constant _SC_THREAD_STACK_MIN
-constant _SC_THREAD_THREADS_MAX
-constant _SC_TIMERS
-constant _SC_TIMER_MAX
-constant _SC_TTY_NAME_MAX
-#ifndef POSIX
-constant _SC_TYPED_MEMORY_OBJECTS
-#endif
-constant _SC_TZNAME_MAX
-#ifndef POSIX
-constant _SC_USER_GROUPS
-constant _SC_USER_GROUPS_R
-#endif
-# ifdef XOPEN2K
-constant _SC_V6_ILP32_OFF32
-constant _SC_V6_ILP32_OFFBIG
-constant _SC_V6_LP64_OFF64
-constant _SC_V6_LPBIG_OFFBIG
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-constant _SC_V7_ILP32_OFF32
-constant _SC_V7_ILP32_OFFBIG
-constant _SC_V7_LP64_OFF64
-constant _SC_V7_LPBIG_OFFBIG
-# endif
-constant _SC_VERSION
-# if !defined POSIX && !defined POSIX2008
-constant _SC_XOPEN_VERSION
-constant _SC_XOPEN_CRYPT
-constant _SC_XOPEN_ENH_I18N
-constant _SC_XOPEN_SHM
-constant _SC_XOPEN_UNIX
-constant _SC_XOPEN_XCU_VERSION
-constant _SC_XOPEN_LEGACY
-constant _SC_XOPEN_REALTIME
-constant _SC_XOPEN_REALTIME_THREADS
-# endif
-# ifndef POSIX
-constant _SC_STREAMS
-constant _SC_XBS5_ILP32_OFF32
-constant _SC_XBS5_ILP32_OFFBIG
-constant _SC_XBS5_LP64_OFF64
-constant _SC_XBS5_LPBIG_OFFBIG
-# endif
-# ifdef XOPEN2K
-constant _CS_POSIX_V6_ILP32_OFF32_CFLAGS
-constant _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
-constant _CS_POSIX_V6_ILP32_OFF32_LIBS
-constant _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
-constant _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
-constant _CS_POSIX_V6_ILP32_OFFBIG_LIBS
-constant _CS_POSIX_V6_LP64_OFF64_CFLAGS
-constant _CS_POSIX_V6_LP64_OFF64_LDFLAGS
-constant _CS_POSIX_V6_LP64_OFF64_LIBS
-constant _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
-constant _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
-constant _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
-constant _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
-constant _CS_V6_ENV
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-constant _CS_POSIX_V7_ILP32_OFF32_CFLAGS
-constant _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
-constant _CS_POSIX_V7_ILP32_OFF32_LIBS
-constant _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
-constant _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
-constant _CS_POSIX_V7_ILP32_OFFBIG_LIBS
-constant _CS_POSIX_V7_LP64_OFF64_CFLAGS
-constant _CS_POSIX_V7_LP64_OFF64_LDFLAGS
-constant _CS_POSIX_V7_LP64_OFF64_LIBS
-constant _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
-constant _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
-constant _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
-constant _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
-constant _CS_V7_ENV
-# endif
-# ifndef POSIX
-constant _SC_THREAD_ROBUST_PRIO_INHERIT
-constant _SC_THREAD_ROBUST_PRIO_PROTECT
-#endif
-
-#if !defined XPG4 && !defined POSIX && !defined POSIX2008
-constant F_LOCK
-constant F_ULOCK
-constant F_TEST
-constant F_TLOCK
-#endif
-
-constant _PC_ASYNC_IO
-constant _PC_CHOWN_RESTRICTED
-#ifndef POSIX
-constant _PC_FILESIZEBITS
-#endif
-constant _PC_LINK_MAX
-constant _PC_MAX_CANON
-constant _PC_MAX_INPUT
-constant _PC_NAME_MAX
-constant _PC_NO_TRUNC
-constant _PC_PATH_MAX
-constant _PC_PIPE_BUF
-constant _PC_PRIO_IO
-#ifndef POSIX
-constant _PC_REC_INCR_XFER_SIZE
-constant _PC_REC_MAX_XFER_SIZE
-constant _PC_REC_MIN_XFER_SIZE
-constant _PC_REC_XFER_ALIGN
-#endif
-constant _PC_SYNC_IO
-constant _PC_VDISABLE
-
-constant STDIN_FILENO
-constant STDOUT_FILENO
-constant STDERR_FILENO
-
-type size_t
-type ssize_t
-#ifndef POSIX
-type uid_t
-type gid_t
-type off_t
-type pid_t
-#endif
-
-#if !defined POSIX && !defined XPG4
-type useconds_t
-
-# 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 XPG4 && !defined POSIX && !defined POSIX2008
-function int brk (void*)
-#endif
-function int chdir (const char*)
-#if defined XPG4 || defined XPG42 || defined UNIX98
-function int chroot (const char*)
-#endif
-function int chown (const char*, uid_t, gid_t)
-function int close (int)
-function size_t confstr (int, char*, size_t)
-#if !defined POSIX && !defined POSIX2008
-function {char*} crypt (const char*, const char*)
-#endif
-#if defined XPG4 || defined XPG42 || defined UNIX98
-function {char*} ctermid (char*)
-function {char*} cuserid (char*)
-#endif
-#ifdef POSIX
-allow cuserid
-#endif
-function int dup (int)
-function int dup2 (int, int)
-#if !defined POSIX && !defined POSIX2008
-function void encrypt (char[64], int)
-#endif
-function int execl (const char*, const char*, ...)
-function int execle (const char*, const char*, ...)
-function int execlp (const char*, const char*, ...)
-function int execv (const char*, char *const[])
-function int execve (const char*, char *const[], char *const[])
-function int execvp (const char*, char *const[])
-function void _exit (int)
-# if defined XOPEN2K8 || defined POSIX2008
-function int faccessat (int, const char*, int, int)
-# endif
-#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 XPG4 && !defined POSIX
-function int fchdir (int)
-#endif
-#if !defined XPG4 && !defined XPG42
-function int fdatasync (int)
-#endif
-# if defined XOPEN2K8 || defined POSIX2008
-function int fexecve (int, char *const[], char *const[])
-# endif
-function pid_t fork (void)
-function {long int} fpathconf (int, int)
-function int fsync (int)
-#ifndef XPG4
-function int ftruncate (int, off_t)
-#endif
-function {char*} getcwd (char*, size_t)
-#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 XPG4 && !defined POSIX && !defined POSIX2008
-function long gethostid (void)
-#endif
-#if !defined POSIX && !defined XPG4
-function int gethostname (char*, size_t)
-#endif
-function {char*} getlogin (void)
-#if !defined XPG4 && !defined XPG42
-function int getlogin_r (char*, size_t)
-#endif
-function int getopt (int, char*const[], const char*)
-#if defined XPG42 || defined UNIX98
-function int getpagesize (void)
-#endif
-#if defined XPG4 || defined XPG42 || defined UNIX98
-function {char*} getpass (const char*)
-#endif
-#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 XPG4 && !defined POSIX
-function pid_t getsid (pid_t)
-#endif
-function uid_t getuid (void)
-#if defined XPG42 || defined UNIX98 || defined XOPEN2K
-function {char*} getwd (char*)
-#endif
-function int isatty (int)
-#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 XPG4 && !defined POSIX && !defined POSIX2008
-function int lockf (int, int, off_t)
-# endif
-function off_t lseek (int, off_t, int)
-# if !defined POSIX && !defined POSIX2008
-function int nice (int)
-# endif
-function {long int} pathconf (const char*, int)
-function int pause (void)
-function int pipe (int[2])
-#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 XPG4 && !defined XPG42
-function int pthread_atfork (void(*)(void), void(*)(void), void(*)(void))
-#endif
-#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 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 XPG4 && !defined POSIX && !defined POSIX2008
-function {void*} sbrk (intptr_t)
-#endif
-#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 XPG4 && !defined POSIX && !defined POSIX2008
-function pid_t setpgrp (void)
-function int setregid (gid_t, gid_t)
-function int setreuid (uid_t, uid_t)
-# endif
-function pid_t setsid (void)
-function int setuid (uid_t)
-function {unsigned int} sleep (unsigned int)
-# if !defined POSIX && !defined POSIX2008
-function void swab (const void*, void*, ssize_t)
-# endif
-#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 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 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 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 XPG42 || defined UNIX98 || defined XOPEN2K
-function int usleep (useconds_t)
-function pid_t vfork (void)
-#endif
-function ssize_t write (int, const void*, size_t)
-
-variable {char*} optarg
-variable int optind
-variable int opterr
-variable int optopt
-
-allow *_t
-#endif
diff --git a/conform/data/utime.h-data b/conform/data/utime.h-data
deleted file mode 100644
index e3201651c1..0000000000
--- a/conform/data/utime.h-data
+++ /dev/null
@@ -1,17 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-#ifdef POSIX
-# define time_t __time_t
-#endif
-
-type {struct utimbuf}
-
-element {struct utimbuf} time_t actime
-element {struct utimbuf} time_t modtime
-
-type time_t
-
-function int utime (const char*, const struct utimbuf*)
-
-allow utim_*
-allow *_t
-#endif
diff --git a/conform/data/utmpx.h-data b/conform/data/utmpx.h-data
deleted file mode 100644
index cfe2a08634..0000000000
--- a/conform/data/utmpx.h-data
+++ /dev/null
@@ -1,41 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 && !defined XPG4
-type {struct utmpx}
-
-element {struct utmpx} char ut_user []
-element {struct utmpx} char ut_id []
-element {struct utmpx} char ut_line []
-element {struct utmpx} pid_t ut_pid
-element {struct utmpx} {short int} ut_type
-// Layout chosen to be compatible on 32-bit and 64-bit bi-arch
-// systems, which is incompatible with the standard type (see bug
-// 18235).
-xfail-element {struct utmpx} {struct timeval} ut_tv
-
-type pid_t
-
-type {struct timeval}
-
-element {struct timeval} time_t tv_sec
-element {struct timeval} suseconds_t tv_usec
-
-constant EMPTY
-constant BOOT_TIME
-constant OLD_TIME
-constant NEW_TIME
-constant USER_PROCESS
-constant INIT_PROCESS
-constant LOGIN_PROCESS
-constant DEAD_PROCESS
-
-function void endutxent (void)
-function {struct utmpx*} getutxent (void)
-function {struct utmpx*} getutxid (const struct utmpx*)
-function {struct utmpx*} getutxline (const struct utmpx*)
-function {struct utmpx*} pututxline (const struct utmpx*)
-function void setutxent (void)
-
-allow-header sys/time.h
-
-allow ut_*
-allow *_t
-#endif
diff --git a/conform/data/varargs.h-data b/conform/data/varargs.h-data
deleted file mode 100644
index 2366edb1fa..0000000000
--- a/conform/data/varargs.h-data
+++ /dev/null
@@ -1,10 +0,0 @@
-#if defined XPG4 || defined XPG42 || defined UNIX98
-macro va_alist
-macro va_dcl
-type va_list
-macro va_start
-macro va_arg
-macro va_end
-
-allow *_t
-#endif
diff --git a/conform/data/wchar.h-data b/conform/data/wchar.h-data
deleted file mode 100644
index 0beae8957d..0000000000
--- a/conform/data/wchar.h-data
+++ /dev/null
@@ -1,169 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
-type wchar_t
-type wint_t
-# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
-type wctype_t
-# endif
-type mbstate_t
-# if !defined ISO99 && !defined ISO11
-type FILE
-# else
-# define FILE __FILE
-# endif
-type size_t
-# if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-# endif
-tag {struct tm}
-
-function wint_t btowc (int)
-function int fwprintf (FILE*, const wchar_t*, ...)
-function int fwscanf (FILE*, const wchar_t*, ...)
-# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
-function int iswalnum (wint_t)
-function int iswalpha (wint_t)
-function int iswcntrl (wint_t)
-function int iswdigit (wint_t)
-function int iswgraph (wint_t)
-function int iswlower (wint_t)
-function int iswprint (wint_t)
-function int iswpunct (wint_t)
-function int iswspace (wint_t)
-function int iswupper (wint_t)
-function int iswxdigit (wint_t)
-function int iswctype (wint_t, wctype_t)
-# endif
-function wint_t fgetwc (FILE*)
-function {wchar_t*} fgetws (wchar_t*, int, FILE*)
-function wint_t fputwc (wchar_t, FILE*)
-function int fputws (const wchar_t*, FILE*)
-function int fwide (FILE*, int)
-function wint_t getwc (FILE*)
-function wint_t getwchar (void)
-function int mbsinit (const mbstate_t*)
-function size_t mbrlen (const char*, size_t, mbstate_t*)
-function size_t mbrtowc (wchar_t*, const char*, size_t, mbstate_t*)
-# if defined XOPEN2K8 || defined POSIX2008
-function size_t mbsnrtowcs (wchar_t*, const char**, size_t, size_t, mbstate_t*)
-# endif
-function size_t mbsrtowcs (wchar_t*, const char**, size_t, mbstate_t*)
-# if defined XOPEN2K8 || defined POSIX2008
-function {FILE*} open_wmemstream (wchar_t**, size_t*)
-# endif
-function wint_t putwc (wchar_t, FILE*)
-function wint_t putwchar (wchar_t)
-function int swprintf (wchar_t*, size_t, const wchar_t*, ...)
-function int swscanf (const wchar_t*, const wchar_t*, ...)
-# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
-function wint_t towlower (wint_t)
-function wint_t towupper (wint_t)
-# endif
-function wint_t ungetwc (wint_t, FILE*)
-function int vfwprintf (FILE*, const wchar_t*, __gnuc_va_list)
-# ifndef UNIX98
-function int vfwscanf (FILE*, const wchar_t*, __gnuc_va_list)
-# endif
-function int vwprintf (const wchar_t*, __gnuc_va_list)
-# ifndef UNIX98
-function int vwscanf (const wchar_t*, __gnuc_va_list)
-# endif
-function int vswprintf (wchar_t*, size_t, const wchar_t*, __gnuc_va_list)
-# ifndef UNIX98
-function int vswscanf (const wchar_t*, const wchar_t*, __gnuc_va_list)
-# endif
-# if defined XOPEN2K8 || defined POSIX2008
-function {wchar_t*} wcpcpy (wchar_t*, const wchar_t*)
-function {wchar_t*} wcpncpy (wchar_t*, const wchar_t*, size_t)
-# endif
-function size_t wcrtomb (char*, wchar_t, mbstate_t*)
-# if defined XOPEN2K8 || defined POSIX2008
-function int wcscasecmp(const wchar_t*, const wchar_t*)
-function int wcscasecmp_l(const wchar_t*, const wchar_t*, locale_t)
-# endif
-function {wchar_t*} wcscat (wchar_t*, const wchar_t*)
-function {wchar_t*} wcschr (const wchar_t*, wchar_t)
-function int wcscmp (const wchar_t*, const wchar_t*)
-function int wcscoll (const wchar_t*, const wchar_t*)
-# if defined XOPEN2K8 || defined POSIX2008
-function int wcscoll_l (const wchar_t*, const wchar_t*, locale_t)
-# endif
-function {wchar_t*} wcscpy (wchar_t*, const wchar_t*)
-function size_t wcscspn (const wchar_t*, const wchar_t*)
-# if defined XOPEN2K8 || defined POSIX2008
-function {wchar_t*} wcsdup (const wchar_t*)
-# endif
-function size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*)
-function size_t wcslen (const wchar_t*)
-# if defined XOPEN2K8 || defined POSIX2008
-function int wcsncasecmp (const wchar_t*, const wchar_t*, size_t)
-function int wcsncasecmp_l (const wchar_t*, const wchar_t*, size_t, locale_t)
-# endif
-function {wchar_t*} wcsncat (wchar_t*, const wchar_t*, size_t)
-function int wcsncmp (const wchar_t*, const wchar_t*, size_t)
-function {wchar_t*} wcsncpy (wchar_t*, const wchar_t*, size_t)
-# if defined XOPEN2K8 || defined POSIX2008
-function size_t wcsnlen (const wchar_t*, size_t)
-function size_t wcsnrtombs (char*, const wchar_t**, size_t, size_t, mbstate_t*)
-# endif
-function {wchar_t*} wcspbrk (const wchar_t*, const wchar_t*)
-function {wchar_t*} wcsrchr (const wchar_t*, wchar_t)
-function size_t wcsrtombs (char*, const wchar_t**, size_t, mbstate_t*)
-function size_t wcsspn (const wchar_t*, const wchar_t*)
-function {wchar_t*} wcsstr (const wchar_t*, const wchar_t*)
-function double wcstod (const wchar_t*, wchar_t**)
-# ifndef UNIX98
-function float wcstof (const wchar_t*, wchar_t**)
-function {long double} wcstold (const wchar_t*, wchar_t**)
-# endif
-function {wchar_t*} wcstok (wchar_t*, const wchar_t*, wchar_t**)
-function {long int} wcstol (const wchar_t*, wchar_t**, int)
-# ifndef UNIX98
-function {long long int} wcstoll (const wchar_t*, wchar_t**, int)
-# endif
-function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
-# ifndef UNIX98
-function {unsigned long long int} wcstoull (const wchar_t*, wchar_t**, int)
-# endif
-# if defined UNIX98 || defined XOPEN2K
-function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
-# endif
-# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function int wcswidth (const wchar_t*, size_t)
-# endif
-function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
-# if defined XOPEN2K8 || defined POSIX2008
-function size_t wcsxfrm_l (wchar_t*, const wchar_t*, size_t, locale_t)
-# endif
-function int wctob (wint_t)
-# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
-function wctype_t wctype (const char*)
-function int wcwidth (wchar_t)
-# endif
-function {wchar_t*} wmemchr (const wchar_t*, wchar_t, size_t)
-function int wmemcmp (const wchar_t*, const wchar_t*, size_t)
-function {wchar_t*} wmemcpy (wchar_t*, const wchar_t*, size_t)
-function {wchar_t*} wmemmove (wchar_t*, const wchar_t*, size_t)
-function {wchar_t*} wmemset (wchar_t*, wchar_t, size_t)
-function int wprintf (const wchar_t*, ...)
-function int wscanf (const wchar_t*, ...)
-
-macro-int-constant WCHAR_MIN {promoted:wchar_t}
-macro-int-constant WCHAR_MAX {promoted:wchar_t} >= 127
-macro-constant WEOF {wint_t}
-macro-constant NULL == 0
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow-header ctype.h
-allow-header stdio.h
-allow-header stdarg.h
-allow-header stdlib.h
-allow-header string.h
-allow-header stddef.h
-allow-header time.h
-#endif
-
-allow wcs[abcdefghijklmnopqrstuvwxyz]*
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#endif
diff --git a/conform/data/wctype.h-data b/conform/data/wctype.h-data
deleted file mode 100644
index 944fe6efab..0000000000
--- a/conform/data/wctype.h-data
+++ /dev/null
@@ -1,68 +0,0 @@
-#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42
-type wint_t
-type wctrans_t
-type wctype_t
-# if defined XOPEN2K8 || defined POSIX2008
-type locale_t
-# endif
-
-function int iswalnum (wint_t)
-function int iswalpha (wint_t)
-# ifndef UNIX98
-function int iswblank (wint_t)
-# endif
-function int iswcntrl (wint_t)
-function int iswdigit (wint_t)
-function int iswgraph (wint_t)
-function int iswlower (wint_t)
-function int iswprint (wint_t)
-function int iswpunct (wint_t)
-function int iswspace (wint_t)
-function int iswupper (wint_t)
-function int iswxdigit (wint_t)
-function int iswctype (wint_t, wctype_t)
-function wint_t towctrans (wint_t, wctrans_t)
-function wint_t towlower (wint_t)
-function wint_t towupper (wint_t)
-function wctrans_t wctrans (const char*)
-function wctype_t wctype (const char*)
-# if defined XOPEN2K8 || defined POSIX2008
-function int iswalnum_l (wint_t, locale_t)
-function int iswalpha_l (wint_t, locale_t)
-function int iswblank_l (wint_t, locale_t)
-function int iswcntrl_l (wint_t, locale_t)
-function int iswdigit_l (wint_t, locale_t)
-function int iswgraph_l (wint_t, locale_t)
-function int iswlower_l (wint_t, locale_t)
-function int iswprint_l (wint_t, locale_t)
-function int iswpunct_l (wint_t, locale_t)
-function int iswspace_l (wint_t, locale_t)
-function int iswupper_l (wint_t, locale_t)
-function int iswxdigit_l (wint_t, locale_t)
-function int iswctype_l (wint_t, wctype_t, locale_t)
-function wint_t towctrans_l (wint_t, wctrans_t, locale_t)
-function wint_t towlower_l (wint_t, locale_t)
-function wint_t towupper_l (wint_t, locale_t)
-function wctrans_t wctrans_l (const char*, locale_t)
-function wctype_t wctype_l (const char*, locale_t)
-# endif
-
-macro-constant WEOF {wint_t}
-
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow-header ctype.h
-allow-header stdio.h
-allow-header stdarg.h
-allow-header stdlib.h
-allow-header string.h
-allow-header stddef.h
-allow-header time.h
-allow-header wchar.h
-#endif
-
-allow is[abcdefghijklmnopqrstuvwxyz]*
-allow to[abcdefghijklmnopqrstuvwxyz]*
-#if !defined ISO && !defined ISO99 && !defined ISO11
-allow *_t
-#endif
-#endif
diff --git a/conform/data/wordexp.h-data b/conform/data/wordexp.h-data
deleted file mode 100644
index 0d96d68edc..0000000000
--- a/conform/data/wordexp.h-data
+++ /dev/null
@@ -1,30 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
-type wordexp_t
-
-element wordexp_t size_t we_wordc
-element wordexp_t {char**} we_wordv
-element wordexp_t size_t we_offs
-
-constant WRDE_APPEND
-constant WRDE_DOOFFS
-constant WRDE_NOCMD
-constant WRDE_REUSE
-constant WRDE_SHOWERR
-constant WRDE_UNDEF
-
-constant WRDE_BADCHAR
-constant WRDE_BADVAL
-constant WRDE_CMDSUB
-constant WRDE_NOSPACE
-# if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
-constant WRDE_NOSYS
-# endif
-constant WRDE_SYNTAX
-
-function int wordexp (const char*, wordexp_t*, int)
-function void wordfree (wordexp_t*)
-
-allow WRDE_*
-allow we_*
-allow *_t
-#endif
diff --git a/conform/linknamespace.pl b/conform/linknamespace.pl
deleted file mode 100644
index 35257304b9..0000000000
--- a/conform/linknamespace.pl
+++ /dev/null
@@ -1,237 +0,0 @@
-#!/usr/bin/perl
-
-# Check that use of symbols declared in a given header does not result
-# in any symbols being brought in that are not reserved with external
-# linkage for the given standard.
-
-# Copyright (C) 2014-2017 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-use GlibcConform;
-use Getopt::Long;
-
-GetOptions ('header=s' => \$header, 'standard=s' => \$standard,
- 'flags=s' => \$flags, 'cc=s' => \$CC, 'tmpdir=s' => \$tmpdir,
- 'stdsyms=s' => \$stdsyms_file, 'libsyms=s' => \$libsyms_file,
- 'readelf=s' => \$READELF);
-
-# Load the list of symbols that are OK.
-%stdsyms = ();
-open (STDSYMS, "<$stdsyms_file") || die ("open $stdsyms_file: $!\n");
-while (<STDSYMS>) {
- chomp;
- $stdsyms{$_} = 1;
-}
-close (STDSYMS) || die ("close $stdsyms_file: $!\n");
-
-# The following whitelisted symbols are also allowed for now.
-#
-# * Bug 17576: stdin, stdout, stderr only reserved with external
-# linkage when stdio.h included (and possibly not then), not
-# generally.
-#
-# * Bug 18442: re_syntax_options wrongly brought in by regcomp and
-# used by re_comp.
-#
-# * False positive: matherr only used conditionally. matherrf/matherrl are used
-# by IA64 too for the same reason.
-#
-@whitelist = qw(stdin stdout stderr re_syntax_options matherr matherrf
- matherrl);
-foreach my $sym (@whitelist) {
- $stdsyms{$sym} = 1;
-}
-
-# Return information about GLOBAL and WEAK symbols listed in readelf
-# -s output.
-sub list_syms {
- my ($syms_file) = @_;
- open (SYMS, "<$syms_file") || die ("open $syms_file: $!\n");
- my ($file) = $syms_file;
- my (@ret) = ();
- while (<SYMS>) {
- chomp;
- if (/^File: (.*)/) {
- $file = $1;
- $file =~ s|^.*/||;
- next;
- }
- s/^\s*//;
- # Architecture-specific st_other bits appear inside [] and disrupt
- # the format of readelf output.
- s/\[.*?\]//;
- my (@fields) = split (/\s+/, $_);
- if (@fields < 8) {
- next;
- }
- my ($bind) = $fields[4];
- my ($ndx) = $fields[6];
- my ($sym) = $fields[7];
- if ($bind ne "GLOBAL" && $bind ne "WEAK") {
- next;
- }
- if ($sym !~ /^\w+$/) {
- next;
- }
- push (@ret, [$file, $sym, $bind, $ndx ne "UND"]);
- }
- close (SYMS) || die ("close $syms_file: $!\n");
- return @ret;
-}
-
-# Load information about GLOBAL and WEAK symbols defined or used in
-# the standard libraries.
-# Symbols from a given object, except for weak defined symbols.
-%seen_syms = ();
-# Strong undefined symbols from a given object.
-%strong_undef_syms = ();
-# Objects defining a given symbol (strongly or weakly).
-%sym_objs = ();
-@sym_data = list_syms ($libsyms_file);
-foreach my $sym (@sym_data) {
- my ($file, $name, $bind, $defined) = @$sym;
- if ($defined) {
- if (!defined ($sym_objs{$name})) {
- $sym_objs{$name} = [];
- }
- push (@{$sym_objs{$name}}, $file);
- }
- if ($bind eq "GLOBAL" || !$defined) {
- if (!defined ($seen_syms{$file})) {
- $seen_syms{$file} = [];
- }
- push (@{$seen_syms{$file}}, $name);
- }
- if ($bind eq "GLOBAL" && !$defined) {
- if (!defined ($strong_undef_syms{$file})) {
- $strong_undef_syms{$file} = [];
- }
- push (@{$strong_undef_syms{$file}}, $name);
- }
-}
-
-# Determine what ELF-level symbols are brought in by use of C-level
-# symbols declared in the given header.
-#
-# The rules followed are heuristic and so may produce false positives
-# and false negatives.
-#
-# * All undefined symbols are considered of signficance, but it is
-# possible that (a) any standard library definition is weak, so can be
-# overridden by the user's definition, and (b) the symbol is only used
-# conditionally and not if the program is limited to standard
-# functionality. (matherr is an example of such a false positive.)
-#
-# * If a symbol reference is only brought in by the user using a data
-# symbol rather than a function from the standard library, this will
-# not be detected.
-#
-# * If a symbol reference is only brought in by crt*.o or libgcc, this
-# will not be detected.
-#
-# * If a symbol reference is only brought in through __builtin_foo in
-# a standard macro being compiled to call foo, this will not be
-# detected.
-#
-# * Header inclusions should be compiled several times with different
-# options such as -O2, -D_FORTIFY_SOURCE and -D_FILE_OFFSET_BITS=64 to
-# find out what symbols are undefined from such a compilation; this is
-# not yet implemented.
-#
-# * This script finds symbols referenced through use of macros on the
-# basis that if a macro calls an internal function, that function must
-# also be declared in the header. However, the header might also
-# declare implementation-namespace functions that are not called by
-# any standard macro in the header, resulting in false positives for
-# any symbols brought in only through use of those
-# implementation-namespace functions.
-#
-# * Namespace issues can apply for dynamic linking as well as static
-# linking, when a call is from one shared library to another or uses a
-# PLT entry for a call within a shared library; such issues are only
-# detected by this script if the same namespace issue applies for
-# static linking.
-
-@c_syms = list_exported_functions ("$CC $flags", $standard, $header, $tmpdir);
-$cincfile = "$tmpdir/undef-$$.c";
-$cincfile_o = "$tmpdir/undef-$$.o";
-$cincfile_sym = "$tmpdir/undef-$$.sym";
-open (CINCFILE, ">$cincfile") || die ("open $cincfile: $!\n");
-print CINCFILE "#include <$header>\n";
-foreach my $sym (sort @c_syms) {
- print CINCFILE "void *__glibc_test_$sym = (void *) &$sym;\n";
-}
-close CINCFILE || die ("close $cincfile: $!\n");
-system ("$CC $flags -D_ISOMAC $CFLAGS{$standard} -c $cincfile -o $cincfile_o")
- && die ("compiling failed\n");
-system ("LC_ALL=C $READELF -W -s $cincfile_o > $cincfile_sym")
- && die ("readelf failed\n");
-@elf_syms = list_syms ($cincfile_sym);
-unlink ($cincfile) || die ("unlink $cincfile: $!\n");
-unlink ($cincfile_o) || die ("unlink $cincfile_o: $!\n");
-unlink ($cincfile_sym) || die ("unlink $cincfile_sym: $!\n");
-
-%seen_where = ();
-%files_seen = ();
-%all_undef = ();
-%current_undef = ();
-foreach my $sym (@elf_syms) {
- my ($file, $name, $bind, $defined) = @$sym;
- if ($bind eq "GLOBAL" && !$defined) {
- $seen_where{$name} = "[initial] $name";
- $all_undef{$name} = "[initial] $name";
- $current_undef{$name} = "[initial] $name";
- }
-}
-
-while (%current_undef) {
- %new_undef = ();
- foreach my $sym (sort keys %current_undef) {
- foreach my $file (@{$sym_objs{$sym}}) {
- if (defined ($files_seen{$file})) {
- next;
- }
- $files_seen{$file} = 1;
- foreach my $ssym (@{$seen_syms{$file}}) {
- if (!defined ($seen_where{$ssym})) {
- $seen_where{$ssym} = "$current_undef{$sym} -> [$file] $ssym";
- }
- }
- foreach my $usym (@{$strong_undef_syms{$file}}) {
- if (!defined ($all_undef{$usym})) {
- $all_undef{$usym} = "$current_undef{$sym} -> [$file] $usym";
- $new_undef{$usym} = "$current_undef{$sym} -> [$file] $usym";
- }
- }
- }
- }
- %current_undef = %new_undef;
-}
-
-$ret = 0;
-foreach my $sym (sort keys %seen_where) {
- if ($sym =~ /^_/) {
- next;
- }
- if (defined ($stdsyms{$sym})) {
- next;
- }
- print "$seen_where{$sym}\n";
- $ret = 1;
-}
-
-exit $ret;
diff --git a/conform/list-header-symbols.pl b/conform/list-header-symbols.pl
deleted file mode 100644
index 757fffebd7..0000000000
--- a/conform/list-header-symbols.pl
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/perl
-
-# Print a list of symbols exported by some headers that would
-# otherwise be in the user's namespace.
-
-# Copyright (C) 2014-2017 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-use GlibcConform;
-use Getopt::Long;
-
-GetOptions ('headers=s' => \$headers, 'standard=s' => \$standard,
- 'flags=s' => \$flags, 'cc=s' => \$CC, 'tmpdir=s' => \$tmpdir);
-@headers = split (/\s+/, $headers);
-
-# Extra symbols possibly not found through -aux-info but still
-# reserved by the standard: either data symbols, or symbols where the
-# standard leaves unspecified whether the identifier is a macro or
-# defined with external linkage.
-$extra_syms{"ISO"} = ["errno", "setjmp", "va_end"];
-$extra_syms{"ISO99"} = ["errno", "math_errhandling", "setjmp", "va_end"];
-# stdatomic.h not yet covered by conformance tests; as per DR#419, all
-# the generic functions there or may not be defined with external
-# linkage (but are reserved in any case).
-$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{"XPG4"} = ["errno", "setjmp", "va_end", "environ", "signgam",
- "loc1", "loc2", "locs", "sigsetjmp", "optarg",
- "optind", "opterr", "optopt", "daylight", "timezone",
- "tzname"];
-$extra_syms{"XPG42"} = ["errno", "setjmp", "va_end", "environ", "signgam",
- "loc1", "loc2", "locs", "sigsetjmp", "optarg",
- "optind", "opterr", "optopt", "daylight", "timezone",
- "tzname", "getdate_err", "h_errno"];
-$extra_syms{"UNIX98"} = ["errno", "setjmp", "va_end", "environ", "signgam",
- "loc1", "loc2", "locs", "sigsetjmp", "optarg",
- "optind", "opterr", "optopt", "daylight", "timezone",
- "tzname", "getdate_err", "h_errno"];
-$extra_syms{"XOPEN2K"} = ["errno", "setjmp", "va_end", "environ", "signgam",
- "sigsetjmp", "optarg", "optind", "opterr", "optopt",
- "daylight", "timezone", "tzname", "getdate_err",
- "h_errno", "in6addr_any", "in6addr_loopback"];
-$extra_syms{"XOPEN2K8"} = ["errno", "setjmp", "va_end", "environ", "signgam",
- "sigsetjmp", "optarg", "optind", "opterr", "optopt",
- "daylight", "timezone", "tzname", "getdate_err",
- "in6addr_any", "in6addr_loopback"];
-$extra_syms{"POSIX2008"} = ["errno", "setjmp", "va_end", "environ",
- "sigsetjmp", "optarg", "optind", "opterr", "optopt",
- "tzname", "in6addr_any", "in6addr_loopback"];
-
-%user_syms = ();
-
-foreach my $header (@headers) {
- @syms = list_exported_functions ("$CC $flags", $standard, $header, $tmpdir);
- foreach my $sym (@syms) {
- if ($sym !~ /^_/) {
- $user_syms{$sym} = 1;
- }
- }
-}
-foreach my $sym (@{$extra_syms{$standard}}) {
- $user_syms{$sym} = 1;
-}
-
-foreach my $sym (sort keys %user_syms) {
- print "$sym\n";
-}