aboutsummaryrefslogtreecommitdiff
path: root/conform
diff options
context:
space:
mode:
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";
-}