[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r17308 - in /fsf/trunk/libc: ./ conform/ conform/data/ conform/data/arpa/ conform/data/net/ conform/data/netinet/ conform/da...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r17308 - in /fsf/trunk/libc: ./ conform/ conform/data/ conform/data/arpa/ conform/data/net/ conform/data/netinet/ conform/da...
- From: eglibc@xxxxxxxxxx
- Date: Mon, 27 Feb 2012 00:02:20 -0000
Author: eglibc
Date: Mon Feb 27 00:02:19 2012
New Revision: 17308
Log:
Import glibc-mainline for 2012-02-27
Added:
fsf/trunk/libc/conform/data/uchar.h-data
fsf/trunk/libc/conform/run-conformtest.sh
fsf/trunk/libc/include/stropts.h
fsf/trunk/libc/include/uchar.h
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/conform/Makefile
fsf/trunk/libc/conform/conformtest.pl
fsf/trunk/libc/conform/data/aio.h-data
fsf/trunk/libc/conform/data/arpa/inet.h-data
fsf/trunk/libc/conform/data/assert.h-data
fsf/trunk/libc/conform/data/complex.h-data
fsf/trunk/libc/conform/data/cpio.h-data
fsf/trunk/libc/conform/data/ctype.h-data
fsf/trunk/libc/conform/data/dirent.h-data
fsf/trunk/libc/conform/data/dlfcn.h-data
fsf/trunk/libc/conform/data/errno.h-data
fsf/trunk/libc/conform/data/fcntl.h-data
fsf/trunk/libc/conform/data/float.h-data
fsf/trunk/libc/conform/data/fmtmsg.h-data
fsf/trunk/libc/conform/data/fnmatch.h-data
fsf/trunk/libc/conform/data/ftw.h-data
fsf/trunk/libc/conform/data/glob.h-data
fsf/trunk/libc/conform/data/grp.h-data
fsf/trunk/libc/conform/data/iconv.h-data
fsf/trunk/libc/conform/data/inttypes.h-data
fsf/trunk/libc/conform/data/langinfo.h-data
fsf/trunk/libc/conform/data/libgen.h-data
fsf/trunk/libc/conform/data/limits.h-data
fsf/trunk/libc/conform/data/locale.h-data
fsf/trunk/libc/conform/data/math.h-data
fsf/trunk/libc/conform/data/monetary.h-data
fsf/trunk/libc/conform/data/mqueue.h-data
fsf/trunk/libc/conform/data/ndbm.h-data
fsf/trunk/libc/conform/data/net/if.h-data
fsf/trunk/libc/conform/data/netdb.h-data
fsf/trunk/libc/conform/data/netinet/in.h-data
fsf/trunk/libc/conform/data/nl_types.h-data
fsf/trunk/libc/conform/data/poll.h-data
fsf/trunk/libc/conform/data/pthread.h-data
fsf/trunk/libc/conform/data/pwd.h-data
fsf/trunk/libc/conform/data/regex.h-data
fsf/trunk/libc/conform/data/sched.h-data
fsf/trunk/libc/conform/data/search.h-data
fsf/trunk/libc/conform/data/semaphore.h-data
fsf/trunk/libc/conform/data/setjmp.h-data
fsf/trunk/libc/conform/data/signal.h-data
fsf/trunk/libc/conform/data/spawn.h-data
fsf/trunk/libc/conform/data/stdarg.h-data
fsf/trunk/libc/conform/data/stdio.h-data
fsf/trunk/libc/conform/data/stdlib.h-data
fsf/trunk/libc/conform/data/string.h-data
fsf/trunk/libc/conform/data/strings.h-data
fsf/trunk/libc/conform/data/stropts.h-data
fsf/trunk/libc/conform/data/sys/ipc.h-data
fsf/trunk/libc/conform/data/sys/mman.h-data
fsf/trunk/libc/conform/data/sys/msg.h-data
fsf/trunk/libc/conform/data/sys/resource.h-data
fsf/trunk/libc/conform/data/sys/select.h-data
fsf/trunk/libc/conform/data/sys/sem.h-data
fsf/trunk/libc/conform/data/sys/shm.h-data
fsf/trunk/libc/conform/data/sys/socket.h-data
fsf/trunk/libc/conform/data/sys/stat.h-data
fsf/trunk/libc/conform/data/sys/statvfs.h-data
fsf/trunk/libc/conform/data/sys/time.h-data
fsf/trunk/libc/conform/data/sys/timeb.h-data
fsf/trunk/libc/conform/data/sys/times.h-data
fsf/trunk/libc/conform/data/sys/types.h-data
fsf/trunk/libc/conform/data/sys/uio.h-data
fsf/trunk/libc/conform/data/sys/un.h-data
fsf/trunk/libc/conform/data/sys/utsname.h-data
fsf/trunk/libc/conform/data/sys/wait.h-data
fsf/trunk/libc/conform/data/syslog.h-data
fsf/trunk/libc/conform/data/tar.h-data
fsf/trunk/libc/conform/data/termios.h-data
fsf/trunk/libc/conform/data/time.h-data
fsf/trunk/libc/conform/data/ucontext.h-data
fsf/trunk/libc/conform/data/ulimit.h-data
fsf/trunk/libc/conform/data/unistd.h-data
fsf/trunk/libc/conform/data/utime.h-data
fsf/trunk/libc/conform/data/utmpx.h-data
fsf/trunk/libc/conform/data/varargs.h-data
fsf/trunk/libc/conform/data/wchar.h-data
fsf/trunk/libc/conform/data/wctype.h-data
fsf/trunk/libc/conform/data/wordexp.h-data
fsf/trunk/libc/include/aio.h
fsf/trunk/libc/include/assert.h
fsf/trunk/libc/include/ctype.h
fsf/trunk/libc/include/dirent.h
fsf/trunk/libc/include/dlfcn.h
fsf/trunk/libc/include/fcntl.h
fsf/trunk/libc/include/fnmatch.h
fsf/trunk/libc/include/glob.h
fsf/trunk/libc/include/grp.h
fsf/trunk/libc/include/libio.h
fsf/trunk/libc/include/locale.h
fsf/trunk/libc/include/math.h
fsf/trunk/libc/include/net/if.h
fsf/trunk/libc/include/netdb.h
fsf/trunk/libc/include/netinet/in.h
fsf/trunk/libc/include/pthread.h
fsf/trunk/libc/include/pwd.h
fsf/trunk/libc/include/regex.h
fsf/trunk/libc/include/sched.h
fsf/trunk/libc/include/search.h
fsf/trunk/libc/include/setjmp.h
fsf/trunk/libc/include/signal.h
fsf/trunk/libc/include/stdio.h
fsf/trunk/libc/include/stdlib.h
fsf/trunk/libc/include/string.h
fsf/trunk/libc/include/sys/cdefs.h
fsf/trunk/libc/include/sys/mman.h
fsf/trunk/libc/include/sys/msg.h
fsf/trunk/libc/include/sys/resource.h
fsf/trunk/libc/include/sys/select.h
fsf/trunk/libc/include/sys/socket.h
fsf/trunk/libc/include/sys/stat.h
fsf/trunk/libc/include/sys/statvfs.h
fsf/trunk/libc/include/sys/time.h
fsf/trunk/libc/include/sys/times.h
fsf/trunk/libc/include/sys/uio.h
fsf/trunk/libc/include/sys/utsname.h
fsf/trunk/libc/include/sys/wait.h
fsf/trunk/libc/include/termios.h
fsf/trunk/libc/include/time.h
fsf/trunk/libc/include/ulimit.h
fsf/trunk/libc/include/unistd.h
fsf/trunk/libc/include/utime.h
fsf/trunk/libc/include/wchar.h
fsf/trunk/libc/include/wctype.h
fsf/trunk/libc/include/wordexp.h
fsf/trunk/libc/io/sys/stat.h
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
fsf/trunk/libc/posix/sys/wait.h
fsf/trunk/libc/posix/tar.h
fsf/trunk/libc/posix/unistd.h
fsf/trunk/libc/rt/aio.h
fsf/trunk/libc/sysdeps/ieee754/dbl-64/k_tan.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/siginfo.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/time.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
fsf/trunk/libc/time/time.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Mon Feb 27 00:02:19 2012
@@ -1,3 +1,179 @@
+2012-02-26 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * conform/Makefile: For now ignore errors from run-conformtest.
+ * conform/conformtest.pl: Simplify code. Add -ansi to CFLAGS for
+ POSIX to avoid namespace pollution. Don't prepend headers.
+ * conform/data/aio.h-data: Fixes for POSIX testing.
+ * conform/data/fcntl.h-data: Likewise.
+ * conform/data/glob.h-data: Likewise.
+ * conform/data/grp.h-data: Likewise.
+ * conform/data/pthread.h-data: Likewise.
+ * conform/data/pwd.h-data: Likewise.
+ * conform/data/signal.h-data: Likewise.
+ * conform/data/spawn.h-data: Likewise.
+ * conform/data/stdio.h-data: Likewise.
+ * conform/data/stdlib.h-data: Likewise.
+ * conform/data/stropts.h-data: Likewise.
+ * conform/data/sys/mman.h-data: Likewise.
+ * conform/data/sys/stat.h-data: Likewise.
+ * conform/data/sys/types.h-data: Likewise.
+ * conform/data/sys/wait.h-data: Likewise.
+ * conform/data/time.h-data: Likewise.
+ * conform/data/unistd.h-data: Likewise.
+ * conform/data/utime.h-data: Likewise.
+
+ * io/sys/stat.h: fchmod was always in POSIX.
+ * posix/sys/wait.h: Include <sys/resource.h> only for waitid.
+ * posix/unistd.h: fsync and ftruncate were in early POSIX as well.
+ * rt/aio.h: Define __need_timespec before including <time.h>.
+ * sysdeps/unix/sysv/linux/bits/siginfo.h: Don't name siginfo_t
+ struct. Add forward declaration of pthread_attr_t and use it in
+ sigevent.
+ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/time.h: Don't let __STRICT_ANSI__
+ always remove CLK_TCK definition.
+
+2012-02-26 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/ieee754/dbl-64/k_tan.c: Replace with empty file.
+
+2012-02-25 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * conform/run-conformtest.sh: New file.
+ * conform/Makefile: Run run-conformtest for tests.
+ * conform/conformtest.pl: Many bug fixes. Add ISO C99, ISO C11
+ support.
+
+ * conform/data/uchar.h-data: New file.
+ * conform/data/aio.h-data: Fixes for ISO C and POSIX 1995 testing.
+ * conform/data/arpa/inet.h-data: Likewise.
+ * conform/data/assert.h-data: Likewise.
+ * conform/data/complex.h-data: Likewise.
+ * conform/data/cpio.h-data: Likewise.
+ * conform/data/ctype.h-data: Likewise.
+ * conform/data/dirent.h-data: Likewise.
+ * conform/data/dlfcn.h-data: Likewise.
+ * conform/data/errno.h-data: Likewise.
+ * conform/data/fcntl.h-data: Likewise.
+ * conform/data/float.h-data: Likewise.
+ * conform/data/fmtmsg.h-data: Likewise.
+ * conform/data/fnmatch.h-data: Likewise.
+ * conform/data/ftw.h-data: Likewise.
+ * conform/data/glob.h-data: Likewise.
+ * conform/data/grp.h-data: Likewise.
+ * conform/data/iconv.h-data: Likewise.
+ * conform/data/inttypes.h-data: Likewise.
+ * conform/data/langinfo.h-data: Likewise.
+ * conform/data/libgen.h-data: Likewise.
+ * conform/data/limits.h-data: Likewise.
+ * conform/data/locale.h-data: Likewise.
+ * conform/data/math.h-data: Likewise.
+ * conform/data/monetary.h-data: Likewise.
+ * conform/data/mqueue.h-data: Likewise.
+ * conform/data/ndbm.h-data: Likewise.
+ * conform/data/net/if.h-data: Likewise.
+ * conform/data/netdb.h-data: Likewise.
+ * conform/data/netinet/in.h-data: Likewise.
+ * conform/data/nl_types.h-data: Likewise.
+ * conform/data/poll.h-data: Likewise.
+ * conform/data/pthread.h-data: Likewise.
+ * conform/data/pwd.h-data: Likewise.
+ * conform/data/regex.h-data: Likewise.
+ * conform/data/sched.h-data: Likewise.
+ * conform/data/search.h-data: Likewise.
+ * conform/data/semaphore.h-data: Likewise.
+ * conform/data/setjmp.h-data: Likewise.
+ * conform/data/signal.h-data: Likewise.
+ * conform/data/spawn.h-data: Likewise.
+ * conform/data/stdarg.h-data: Likewise.
+ * conform/data/stdio.h-data: Likewise.
+ * conform/data/stdlib.h-data: Likewise.
+ * conform/data/string.h-data: Likewise.
+ * conform/data/strings.h-data: Likewise.
+ * conform/data/stropts.h-data: Likewise.
+ * conform/data/sys/ipc.h-data: Likewise.
+ * conform/data/sys/mman.h-data: Likewise.
+ * conform/data/sys/msg.h-data: Likewise.
+ * conform/data/sys/resource.h-data: Likewise.
+ * conform/data/sys/select.h-data: Likewise.
+ * conform/data/sys/sem.h-data: Likewise.
+ * conform/data/sys/shm.h-data: Likewise.
+ * conform/data/sys/socket.h-data: Likewise.
+ * conform/data/sys/stat.h-data: Likewise.
+ * conform/data/sys/statvfs.h-data: Likewise.
+ * conform/data/sys/time.h-data: Likewise.
+ * conform/data/sys/timeb.h-data: Likewise.
+ * conform/data/sys/times.h-data: Likewise.
+ * conform/data/sys/types.h-data: Likewise.
+ * conform/data/sys/uio.h-data: Likewise.
+ * conform/data/sys/un.h-data: Likewise.
+ * conform/data/sys/utsname.h-data: Likewise.
+ * conform/data/sys/wait.h-data: Likewise.
+ * conform/data/syslog.h-data: Likewise.
+ * conform/data/tar.h-data: Likewise.
+ * conform/data/termios.h-data: Likewise.
+ * conform/data/utime.h-data: Likewise.
+ * conform/data/utmpx.h-data: Likewise.
+ * conform/data/varargs.h-data: Likewise.
+ * conform/data/wchar.h-data: Likewise.
+ * conform/data/wctype.h-data: Likewise.
+ * conform/data/wordexp.h-data: Likewise.
+
+ * include/stropts.h: New file.
+ * include/uchar.h: New file.
+ * include/aio.h: Changes to allow conformtest.pl to use the headers.
+ * include/assert.h: Likewise.
+ * include/ctype.h: Likewise.
+ * include/dirent.h: Likewise.
+ * include/dlfcn.h: Likewise.
+ * include/fcntl.h: Likewise.
+ * include/fnmatch.h: Likewise.
+ * include/glob.h: Likewise.
+ * include/grp.h: Likewise.
+ * include/libio.h: Likewise.
+ * include/locale.h: Likewise.
+ * include/math.h: Likewise.
+ * include/net/if.h: Likewise.
+ * include/netdb.h: Likewise.
+ * include/netinet/in.h: Likewise.
+ * include/pthread.h: Likewise.
+ * include/pwd.h: Likewise.
+ * include/regex.h: Likewise.
+ * include/sched.h: Likewise.
+ * include/search.h: Likewise.
+ * include/setjmp.h: Likewise.
+ * include/signal.h: Likewise.
+ * include/stdio.h: Likewise.
+ * include/stdlib.h: Likewise.
+ * include/string.h: Likewise.
+ * include/sys/cdefs.h: Likewise.
+ * include/sys/mman.h: Likewise.
+ * include/sys/msg.h: Likewise.
+ * include/sys/resource.h: Likewise.
+ * include/sys/select.h: Likewise.
+ * include/sys/socket.h: Likewise.
+ * include/sys/stat.h: Likewise.
+ * include/sys/statvfs.h: Likewise.
+ * include/sys/time.h: Likewise.
+ * include/sys/times.h: Likewise.
+ * include/sys/uio.h: Likewise.
+ * include/sys/utsname.h: Likewise.
+ * include/sys/wait.h: Likewise.
+ * include/termios.h: Likewise.
+ * include/time.h: Likewise.
+ * include/ulimit.h: Likewise.
+ * include/unistd.h: Likewise.
+ * include/utime.h: Likewise.
+ * include/wchar.h: Likewise.
+ * include/wctype.h: Likewise.
+ * include/wordexp.h: Likewise.
+
+ * posix/tar.h (TSVTX): Should not be visible for POSIX before 2008.
+
+ * time/time.h: TIME_UTC must be a macro.
+ Make timespec_get available for ISO C11 only as well.
+
2012-02-24 Ulrich Drepper <drepper@xxxxxxxxx>
* stdlib/fmtmsg.c (fmtmsg): Lock around use of severity list.
Modified: fsf/trunk/libc/conform/Makefile
==============================================================================
--- fsf/trunk/libc/conform/Makefile (original)
+++ fsf/trunk/libc/conform/Makefile Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-# Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2012 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
@@ -24,3 +24,13 @@
$(wildcard data/*/*.h-data)
include ../Rules
+
+tests: $(objpfx)run-conformtest.out
+
+$(objpfx)run-conformtest.out: run-conformtest.sh conformtest.pl \
+ $(wildcard data/*.h-data) \
+ $(wildcard data/*/*.h-data)
+ -$(SHELL) -e $< $(objpfx) $(PERL) '$(CC)' \
+ '-I../include $(+sysdep-includes) $(sysincludes) -I..'
+
+generated = $(wildcard $(objpfx)conform-*.out)
Modified: fsf/trunk/libc/conform/conformtest.pl
==============================================================================
--- fsf/trunk/libc/conform/conformtest.pl (original)
+++ fsf/trunk/libc/conform/conformtest.pl Mon Feb 27 00:02:19 2012
@@ -5,46 +5,64 @@
$CC = "gcc";
-$dialect="XOPEN2K";
-GetOptions ('headers=s' => \@headers, 'dialect=s' => \$dialect);
+$standard="XOPEN2K8";
+GetOptions ('headers=s' => \@headers, 'standard=s' => \$standard,
+ 'flags=s' => \$flags, 'cc=s' => \$CC);
@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", "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", "stdlib.h",
- "stdio.h", "stdint.h", "stddef.h", "stdarg.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",
- "fcntl.h", "errno.h", "dlfcn.h", "dirent.h", "ctype.h", "cpio.h",
- "complex.h", "assert.h", "arpa/inet.h", "aio.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",
+ "stdlib.h", "stdio.h", "stdint.h", "stddef.h", "stdarg.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", "fcntl.h", "errno.h", "dlfcn.h",
+ "dirent.h", "ctype.h", "cpio.h", "complex.h", "assert.h",
+ "arpa/inet.h", "aio.h");
}
-if ($dialect ne "ISO" && $dialect ne "POSIX" && $dialect ne "XPG3"
- && $dialect ne "XPG4" && $dialect ne "UNIX98" && $dialect ne "XOPEN2K"
- && $dialect ne "XOPEN2K8" && $dialect ne "POSIX2008") {
- die "unknown dialect \"$dialect\"";
-}
-
-$CFLAGS{"ISO"} = "-I. -fno-builtin '-D__attribute__(x)=' -ansi";
-$CFLAGS{"POSIX"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_POSIX_C_SOURCE=199912";
-$CFLAGS{"XPG3"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE";
-$CFLAGS{"XPG4"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE_EXTENDED";
-$CFLAGS{"UNIX98"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
-$CFLAGS{"XOPEN2K"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=600";
-$CFLAGS{"XOPEN2K8"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=700";
-$CFLAGS{"POSIX2008"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_POSIX_C_SOURCE=200809L";
-
+$CFLAGS{"ISO"} = "-ansi";
+$CFLAGS{"ISO99"} = "-std=c99";
+$CFLAGS{"ISO11"} = "-std=c1x -D_ISOC11_SOURCE";
+$CFLAGS{"POSIX"} = "-D_POSIX_C_SOURCE=199912 -ansi";
+$CFLAGS{"XPG3"} = "-D_XOPEN_SOURCE";
+$CFLAGS{"XPG4"} = "-D_XOPEN_SOURCE_EXTENDED";
+$CFLAGS{"UNIX98"} = "-D_XOPEN_SOURCE=500";
+$CFLAGS{"XOPEN2K"} = "-D_XOPEN_SOURCE=600";
+$CFLAGS{"XOPEN2K8"} = "-D_XOPEN_SOURCE=700";
+$CFLAGS{"POSIX2008"} = "-D_POSIX_C_SOURCE=200809L";
+
+$CFLAGS = "$flags -fno-builtin '-D__attribute__(x)=' $CFLAGS{$standard} -D_ISOMAC";
+
+# 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 C99 keywords.
@keywords = ('auto', 'break', 'case', 'char', 'const', 'continue', 'default',
@@ -53,25 +71,13 @@
'short', 'signed', 'sizeof', 'static', 'struct', 'switch',
'typedef', 'union', 'unsigned', 'void', 'volatile', 'while');
-# These are symbols which are known to pollute the namespace.
-@knownproblems = ('unix', 'linux', 'i386');
-
-if ($dialect ne "XOPEN2K8" && $dialect 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{'regex.h'} = "#include <sys/types.h>\n";
- $mustprepend{'sched.h'} = "#include <sys/types.h>\n";
- $mustprepend{'signal.h'} = "#include <pthread.h>\n";
- $mustprepend{'stdio.h'} = "#include <sys/types.h>\n";
- $mustprepend{'wchar.h'} = "#include <stdarg.h>\n";
- $mustprepend{'wordexp.h'} = "#include <stddef.h>\n";
-}
-
# Make a hash table from this information.
while ($#keywords >= 0) {
$iskeyword{pop (@keywords)} = 1;
}
+
+# These are symbols which are known to pollute the namespace.
+@knownproblems = ('unix', 'linux', 'i386');
# Make a hash table from the known problems.
while ($#knownproblems >= 0) {
@@ -100,9 +106,17 @@
$res = ($strlen >= $patlen
&& substr ($pattern, -$patlen, $patlen) eq substr ($string, -$patlen, $patlen));
} elsif (substr ($pattern, -1, 1) eq '*') {
- my($patlen) = length ($pattern) - 1;
- $res = ($strlen >= $patlen
- && substr ($pattern, 0, $patlen) eq substr ($string, 0, $patlen));
+ 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;
}
@@ -123,7 +137,7 @@
++$skipped;
printf (" SKIP\n");
} else {
- $ret = system "$CC $CFLAGS{$dialect} -c $fnamebase.c -o $fnamebase.o > $fnamebase.out 2>&1";
+ $ret = system "$CC $CFLAGS -c $fnamebase.c -o $fnamebase.o > $fnamebase.out 2>&1";
if ($ret != 0) {
if ($optional != 0) {
printf (" $errmsg\n");
@@ -175,7 +189,7 @@
++$skipped;
printf (" SKIP\n");
} else {
- $ret = system "$CC $CFLAGS{$dialect} -o $fnamebase $fnamebase.c > $fnamebase.out 2>&1";
+ $ret = system "$CC $CFLAGS -o $fnamebase $fnamebase.c > $fnamebase.out 2>&1";
if ($ret != 0) {
printf (" FAIL\n");
if ($verbose != 0) {
@@ -232,9 +246,7 @@
return if (poorfnmatch ($allow[$idx], $token));
}
- if ($isknown{$token}) {
- ++$nknown;
- } else {
+ unless ($isknown{$token}) {
$errors{$token} = 1;
}
}
@@ -264,7 +276,7 @@
undef %errors;
$nknown = 0;
- open (CONTENT, "$CC $CFLAGS{$dialect} -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |");
+ open (CONTENT, "$CC $CFLAGS -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |");
loop: while (<CONTENT>) {
chop;
if (/^#define (.*)/) {
@@ -303,12 +315,7 @@
}
if ($realerror == 0) {
- if ($nknown > 0) {
- printf ("EXPECTED FAILURES\n");
- ++$known;
- } else {
- printf ("OK\n");
- }
+ printf ("OK\n");
}
}
@@ -318,31 +325,35 @@
my($hf) = $h;
$hf =~ s|/|-|;
my($fnamebase) = "$tmpdir/$hf-test";
- my($missing);
+ 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");
- # 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);
-
- printf ("\n");
-
- open (CONTROL, "$CC -E -D$dialect - < data/$h-data |");
+ open (CONTROL, "$CC -E -D$standard -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);
+ printf ("\n");
+ last control if ($missing);
+ }
if (/^element *({([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
my($struct) = "$2$3";
@@ -421,7 +432,7 @@
"Member \"$member\" does not have the correct type.",
$res, 0);
}
- } elsif (/^optional-constant *([a-zA-Z0-9_]*) ([>=<]+) ([A-Za-z0-9_]*)/) {
+ } elsif (/^optional-constant *([a-zA-Z0-9_]*) ([>=<!]+) ([A-Za-z0-9_-]*)/) {
my($const) = $1;
my($op) = $2;
my($value) = $3;
@@ -452,7 +463,7 @@
$res = runtest ($fnamebase, "Testing for value of constant $const",
"Constant \"$const\" has not the right value.", $res);
}
- } elsif (/^constant *([a-zA-Z0-9_]*) *([>=<]+) ([A-Za-z0-9_]*)/) {
+ } elsif (/^constant *([a-zA-Z0-9_]*) *([>=<!]+) ([A-Za-z0-9_-]*)/) {
my($const) = $1;
my($op) = $2;
my($value) = $3;
@@ -483,7 +494,7 @@
$res = runtest ($fnamebase, "Testing for value of constant $const",
"Constant \"$const\" has not the right value.", $res);
}
- } elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) {
+ } elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_-]*)?/) {
my($const) = $1;
my($type) = "$3$4";
my($value) = $5;
@@ -525,7 +536,7 @@
$res = runtest ($fnamebase, "Testing for value of constant $const",
"Constant \"$const\" has not the right value.", $res);
}
- } elsif (/^optional-constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
+ } elsif (/^optional-constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
my($const) = $1;
my($value) = $2;
my($res) = $missing;
@@ -554,7 +565,7 @@
$res = runtest ($fnamebase, "Testing for value of constant $const",
"Constant \"$const\" has not the right value.", $res);
}
- } elsif (/^constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
+ } elsif (/^constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
my($const) = $1;
my($value) = $2;
my($res) = $missing;
@@ -583,7 +594,7 @@
$res = runtest ($fnamebase, "Testing for value of constant $const",
"Constant \"$const\" has not the right value.", $res);
}
- } elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
+ } elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
my($symbol) = $1;
my($value) = $2;
my($res) = $missing;
@@ -614,7 +625,7 @@
$res = runtest ($fnamebase, "Testing for value of symbol $symbol",
"Symbol \"$symbol\" has not the right value.", $res);
}
- } elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) {
+ } elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_-]*)?/) {
my($const) = $1;
my($type) = "$3$4";
my($value) = $5;
@@ -908,7 +919,7 @@
print TESTFILE "#endif\n";
close (TESTFILE);
- $res = compiletest ($fnamebase, "Test availability of function $fname",
+ $res = compiletest ($fnamebase, "Test availability of macro $fname",
"Function \"$fname\" is not available.", $res, 0);
# Generate a program to test for the type of this function.
@@ -921,7 +932,7 @@
print TESTFILE "#endif\n";
close (TESTFILE);
- compiletest ($fnamebase, "Test for type of function $fname",
+ compiletest ($fnamebase, "Test for type of macro $fname",
"Function \"$fname\" has incorrect type.", $res, 0);
} elsif (/^macro-str *([^ ]*) *(\".*\")/) {
# The above regex doesn't handle a \" in a string.
@@ -972,7 +983,7 @@
compiletest ($fnamebase, "Test availability of macro $macro",
"NOT PRESENT", $missing, 1);
- } elsif (/^macro *([a-zA-Z0-9_]*) *([>=<]+) ([A-Za-z0-9_]*)/) {
+ } elsif (/^macro *([a-zA-Z0-9_]*) *([>=<!]+) ([A-Za-z0-9_]*)/) {
my($macro) = "$1";
my($op) = $2;
my($value) = $3;
@@ -1002,7 +1013,39 @@
print TESTFILE "int main (void) { return !($macro $op $value); }\n";
close (TESTFILE);
- $res = runtest ($fnamebase, "Testing for value of constant $macro",
+ $res = runtest ($fnamebase, "Testing for value of macro $macro",
+ "Macro \"$macro\" has not the right value.", $res);
+ }
+ } elsif (/^macro *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)/) {
+ my($macro) = "$1";
+ my($value) = $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);
+
+ $res = compiletest ($fnamebase, "Test availability of macro $macro",
+ "Macro \"$macro\" is not available.", $res, 0);
+
+ 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";
+ # Negate the value since 0 means ok
+ print TESTFILE "int main (void) { return !($macro == $value); }\n";
+ close (TESTFILE);
+
+ $res = runtest ($fnamebase, "Testing for value of macro $macro",
"Macro \"$macro\" has not the right value.", $res);
}
} elsif (/^macro *([^ ]*)/) {
@@ -1046,7 +1089,7 @@
while ($#allowheader >= 0) {
my($ah) = pop @allowheader;
- open (ALLOW, "$CC -E -D$dialect - < data/$ah-data |");
+ open (ALLOW, "$CC -E -D$standard - < data/$ah-data |");
acontrol: while (<ALLOW>) {
chop;
next acontrol if (/^#/);
@@ -1091,13 +1134,17 @@
close (ALLOW);
}
- # Now check the namespace.
- printf (" Checking the namespace of \"%s\"... ", $h);
- if ($missing) {
- ++$skipped;
- printf ("SKIP\n");
+ if ($test_exist) {
+ printf (" Not defined\n");
} else {
- checknamespace ($h, $fnamebase, @allow);
+ # 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");
@@ -1105,14 +1152,6 @@
printf "-" x 76 . "\n";
printf (" Total number of tests : %4d\n", $total);
-
-printf (" Number of known failures: %4d (", $known);
-$percent = ($known * 100) / $total;
-if ($known > 0 && $percent < 1.0) {
- printf (" <1%%)\n");
-} else {
- printf ("%3d%%)\n", $percent);
-}
printf (" Number of failed tests : %4d (", $errors);
$percent = ($errors * 100) / $total;
@@ -1131,3 +1170,6 @@
}
exit $errors != 0;
+# Local Variables:
+# perl-indent-level: 2
+# End:
Modified: fsf/trunk/libc/conform/data/aio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/aio.h-data (original)
+++ fsf/trunk/libc/conform/data/aio.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type {struct aiocb}
// Test elements of the AIO control struct.
@@ -28,12 +28,12 @@
function int aio_write (struct aiocb*)
function int lio_listio (int, struct aiocb *const[], int, struct sigevent*)
-# if !defined POSIX
+// 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
-# endif
allow aio_*
allow lio_*
Modified: fsf/trunk/libc/conform/data/arpa/inet.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/arpa/inet.h-data (original)
+++ fsf/trunk/libc/conform/data/arpa/inet.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
// in_port_t should have exactly 16 bits
type in_port_t
// in_addr_t should have exactly 32 bits
Modified: fsf/trunk/libc/conform/data/assert.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/assert.h-data (original)
+++ fsf/trunk/libc/conform/data/assert.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,7 @@
macro assert
+#ifdef ISO11
+macro static_assert
+#endif
+
allow *_t
Modified: fsf/trunk/libc/conform/data/complex.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/complex.h-data (original)
+++ fsf/trunk/libc/conform/data/complex.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if defined XOPEN2K || defined POSIX2008
+#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined POSIX2008
macro complex
macro _Complex_I
optional-macro imaginary
@@ -73,4 +73,10 @@
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
#endif
Modified: fsf/trunk/libc/conform/data/cpio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/cpio.h-data (original)
+++ fsf/trunk/libc/conform/data/cpio.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant C_IRUSR 0000400
constant C_IWUSR 0000200
constant C_IXUSR 0000100
Modified: fsf/trunk/libc/conform/data/ctype.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ctype.h-data (original)
+++ fsf/trunk/libc/conform/data/ctype.h-data Mon Feb 27 00:02:19 2012
@@ -12,7 +12,7 @@
function int tolower (int)
function int toupper (int)
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function int isascii (int)
function int toascii (int)
Modified: fsf/trunk/libc/conform/data/dirent.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/dirent.h-data (original)
+++ fsf/trunk/libc/conform/data/dirent.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type DIR
type {struct dirent}
Modified: fsf/trunk/libc/conform/data/dlfcn.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/dlfcn.h-data (original)
+++ fsf/trunk/libc/conform/data/dlfcn.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
macro RTLD_LAZY
macro RTLD_NOW
macro RTLD_GLOBAL
Modified: fsf/trunk/libc/conform/data/errno.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/errno.h-data (original)
+++ fsf/trunk/libc/conform/data/errno.h-data Mon Feb 27 00:02:19 2012
@@ -2,7 +2,10 @@
constant EILSEQ
constant ERANGE
-#ifndef ISO
+// variable int errno
+allow errno
+
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant E2BIG
constant EACCES
constant EADDRINUSE
@@ -84,9 +87,9 @@
constant EOWNERDEAD
# endif
-// variable int errno
-allow errno
-
allow E*
allow *_t
#endif
+
+allow E[0123456789]*
+allow E[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
Modified: fsf/trunk/libc/conform/data/fcntl.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fcntl.h-data (original)
+++ fsf/trunk/libc/conform/data/fcntl.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant F_DUPFD
constant F_GETFD
constant F_SETFD
@@ -7,8 +7,10 @@
constant F_GETLK
constant F_SETLK
constant F_SETLKW
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
constant F_GETOWN
constant F_SETOWN
+#endif
constant FD_CLOEXEC
@@ -16,9 +18,11 @@
constant F_UNLCK
constant F_WRLCK
+#if !defined POSIX
constant SEEK_SET
constant SEEK_CUR
constant SEEK_END
+#endif
constant O_CREAT
constant O_EXCL
@@ -37,6 +41,7 @@
constant O_RDWR
constant O_WRONLY
+#if !defined POSIX
constant S_IFMT
constant S_IFBLK
constant S_IFCHR
@@ -60,8 +65,9 @@
constant S_IXOTH
constant S_ISUID
constant S_ISGID
-#if !defined POSIX && !defined POSIX2008
+#if !defined POSIX2008
constant S_ISVTX
+#endif
#endif
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
@@ -103,7 +109,6 @@
constant O_SEARCH
constant O_DIRECTORY
constant O_NOFOLLOW
-constant FD_CLOEXEC
constant F_DUPFD_CLOEXEC
constant AT_FDCWD
constant AT_EACCESS
Modified: fsf/trunk/libc/conform/data/float.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/float.h-data (original)
+++ fsf/trunk/libc/conform/data/float.h-data Mon Feb 27 00:02:19 2012
@@ -38,4 +38,23 @@
macro DBL_MIN
macro LDBL_MIN
+#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined POSIX && !defined UNIX98
+constant DECIMAL_DIG >= 10
+constant FLT_EVAL_METHOD
+#endif
+
+#if defined ISO11
+constant DBL_HAS_SUBNORM
+constant FLT_HAS_SUBNORM
+constant LDBL_HAS_SUBNORM
+
+constant DBL_DECIMAL_DIG >= 10
+constant FLT_DECIMAL_DIG >= 6
+constant LDBL_DECIMAL_DIG >= 10
+
+constant DBL_TRUE_MIN <= 1E-37
+constant FLT_TRUE_MIN <= 1E-37
+constant LDBL_TRUE_MIN <= 1E-37
+#endif
+
allow *_t
Modified: fsf/trunk/libc/conform/data/fmtmsg.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fmtmsg.h-data (original)
+++ fsf/trunk/libc/conform/data/fmtmsg.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
macro MM_HARD
constant MM_HARD
Modified: fsf/trunk/libc/conform/data/fnmatch.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fnmatch.h-data (original)
+++ fsf/trunk/libc/conform/data/fnmatch.h-data Mon Feb 27 00:02:19 2012
@@ -1,9 +1,9 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant FNM_NOMATCH
constant FNM_PATHNAME
constant FNM_PERIOD
constant FNM_NOESCAPE
-#if !defined XOPEN2K8 && !defined POSIX2008
+#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
constant FNM_NOSYS
#endif
Modified: fsf/trunk/libc/conform/data/ftw.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ftw.h-data (original)
+++ fsf/trunk/libc/conform/data/ftw.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
type {struct FTW}
element {struct FTW} int base
element {struct FTW} int level
Modified: fsf/trunk/libc/conform/data/glob.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/glob.h-data (original)
+++ fsf/trunk/libc/conform/data/glob.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,8 @@
-#ifndef ISO
+#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
Modified: fsf/trunk/libc/conform/data/grp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/grp.h-data (original)
+++ fsf/trunk/libc/conform/data/grp.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,8 @@
-#ifndef ISO
+#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
@@ -13,9 +17,9 @@
function {struct group*} getgrgid (gid_t)
function {struct group*} getgrnam (const char*)
-# ifndef POSIX
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**)
+# ifndef POSIX
function {struct group*} getgrent (void)
function void endgrent (void)
# ifndef POSIX2008
Modified: fsf/trunk/libc/conform/data/iconv.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/iconv.h-data (original)
+++ fsf/trunk/libc/conform/data/iconv.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type iconv_t
# if defined XOPEN2K8 || defined POSIX2008
type size_t
Modified: fsf/trunk/libc/conform/data/inttypes.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/inttypes.h-data (original)
+++ fsf/trunk/libc/conform/data/inttypes.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,4 @@
+#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined POSIX2008
type int8_t
type int16_t
type int32_t
@@ -141,3 +142,4 @@
allow UINT*
allow PRI[Xa-z]*
allow SCN[Xa-z]*
+#endif
Modified: fsf/trunk/libc/conform/data/langinfo.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/langinfo.h-data (original)
+++ fsf/trunk/libc/conform/data/langinfo.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
constant CODESET
constant D_T_FMT
constant D_FMT
Modified: fsf/trunk/libc/conform/data/libgen.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/libgen.h-data (original)
+++ fsf/trunk/libc/conform/data/libgen.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {char*} basename (char*)
function {char*} dirname (char*)
Modified: fsf/trunk/libc/conform/data/limits.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/limits.h-data (original)
+++ fsf/trunk/libc/conform/data/limits.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,31 @@
+constant CHAR_BIT >= 8
+constant SCHAR_MIN <= -127
+constant SCHAR_MAX >= 127
+constant UCHAR_MAX >= 255
+#ifdef __CHAR_UNSIGNED__
+constant CHAR_MIN 0
+constant CHAR_MAX UCHAR_MAX
+#else
+constant CHAR_MIN SCHAR_MIN
+constant CHAR_MAX SCHAR_MAX
+#endif
+constant MB_LEN_MAX >= 1
+constant SHRT_MIN <= -32767
+constant SHRT_MAX >= 32767
+constant USHRT_MAX >= 65535
+constant INT_MAX >= 2147483647
+constant INT_MIN <= 2147483647
+constant UINT_MAX >= 4294967295
+constant LONG_MAX >= 2147483647
+constant LONG_MIN <= 2147483647
+constant ULONG_MAX >= 4294967295
+#if defined ISO99 || defined ISO11 || defined XOPEN2K8 || defined POSIX2008
+constant LLONG_MIN <= -9223372036854775807ll
+constant LLONG_MAX >= 9223372036854775807ll
+constant ULLONG_MAX >= 18446744073709551615ull
+#endif
+
+#if !defined ISO && !defined ISO99 && !defined ISO11
// if these values exist, we should check the minimal value
allow AIO_LIST_MAX
allow AIO_MAX
@@ -111,25 +139,11 @@
optional-constant _POSIX2_RE_DUP_MAX 255
optional-constant _XOPEN_IOV_MAX 16
-constant CHAR_BIT >= 8
-constant CHAR_MAX
-constant INT_MAX >= 2147483647
+#if !defined POSIX && !defined POSIX2008
+constant WORD_BIT >= 16
constant LONG_BIT >= 32
-constant MB_LEN_MAX >= 1
-constant LONG_MAX >= 2147483647
-constant SCHAR_MAX >= 127
-constant SHRT_MAX >= 32767
+#endif
constant SSIZE_MAX
-constant UCHAR_MAX >= 255
-constant UINT_MAX >= 4294967295
-constant ULONG_MAX >= 4294967295
-constant USHRT_MAX >= 65535
-constant WORD_BIT >= 16
-constant CHAR_MIN
-constant INT_MIN <= 2147483647
-constant LONG_MIN <= 2147483647
-constant SCHAR_MIN <= -127
-constant SHRT_MIN <= -32767
optional-constant CHARCLASS_NAME_MAX >= 14
optional-constant NL_ARGMAX >= 9
@@ -149,3 +163,4 @@
allow *_MAX
allow *_MIN
+#endif
Modified: fsf/trunk/libc/conform/data/locale.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/locale.h-data (original)
+++ fsf/trunk/libc/conform/data/locale.h-data Mon Feb 27 00:02:19 2012
@@ -17,7 +17,7 @@
element {struct lconv} char p_sep_by_space
element {struct lconv} char p_sign_posn
element {struct lconv} {char*} thousands_sep
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !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
Modified: fsf/trunk/libc/conform/data/math.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/math.h-data (original)
+++ fsf/trunk/libc/conform/data/math.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,5 @@
+constant HUGE_VAL
+
#if !defined ISO && !defined POSIX
macro fpclassify
macro isfinite
@@ -12,7 +14,7 @@
macro islessgreater
macro isunordered
-# ifndef POSIX2008
+# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
constant M_E
constant M_LOG2E
constant M_LOG10E
@@ -29,7 +31,6 @@
constant MAXFLOAT
# endif
-constant HUGE_VAL
constant HUGE_VALF
constant HUGE_VALL
constant INFINITY
@@ -48,22 +49,28 @@
constant FP_ILOGB0
constant FP_ILOGBNAN
+# if !defined XPG3 && !defined XPG4 && !defined UNIX98
macro MATH_ERRNO == 1
macro MATH_ERREXCEPT == 2
-#endif
macro math_errhandling
+# 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
function double copysign (double, double)
+#endif
function double cos (double)
function double cosh (double)
function double exp (double)
+#if !defined ISO && !defined POSIX
function double exp2 (double)
+#endif
function double fabs (double)
function double floor (double)
function double fmod (double, double)
@@ -71,7 +78,9 @@
function double ldexp (double, int)
function double log (double)
function double log10 (double)
+#if !defined ISO && !defined POSIX
function double log2 (double)
+#endif
function double modf (double, double*)
function double pow (double, double)
function double sin (double)
@@ -79,24 +88,27 @@
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 XPG3 || defined XPG4 || defined UNIX98
function double gamma (double)
#endif
+#if !defined ISO && !defined POSIX
function double hypot (double, double)
-#if !defined POSIX && !defined POSIX2008
+# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double j0 (double)
function double j1 (double)
function double jn (int, double)
-#endif
+# endif
function double lgamma (double)
function double tgamma (double)
-#if !defined POSIX && !defined POSIX2008
+# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double y0 (double)
function double y1 (double)
function double yn (int, double)
-#endif
+# endif
function double acosh (double)
function double asinh (double)
function double atanh (double)
@@ -117,9 +129,9 @@
function long lround (double)
function {long long} llround (double)
function double remquo (double, double, int*)
-#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
+# if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
function double scalb (double, double)
-#endif
+# endif
function double scalbn (double, int)
function double scalbln (double, long)
function double fdim (double, double)
@@ -128,9 +140,10 @@
function double fma (double, double, double)
function double nan (const char*)
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
// variable signgam
allow signgam
+# endif
#endif
#if !defined ISO && !defined POSIX
@@ -165,14 +178,14 @@
function float gammaf (float)
#endif
function float hypotf (float, float)
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function float j0f (float)
function float j1f (float)
function float jnf (int, float)
#endif
function float lgammaf (float)
function float tgammaf (float)
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function float y0f (float)
function float y1f (float)
function float ynf (int, float)
@@ -239,14 +252,14 @@
function {long double} gammal (long double)
#endif
function {long double} hypotl (long double, long double)
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {long double} j0l (long double)
function {long double} j1l (long double)
function {long double} jnl (int, long double)
#endif
function {long double} lgammal (long double)
function {long double} tgammal (long double)
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {long double} y0l (long double)
function {long double} y1l (long double)
function {long double} ynl (int, long double)
Modified: fsf/trunk/libc/conform/data/monetary.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/monetary.h-data (original)
+++ fsf/trunk/libc/conform/data/monetary.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type size_t
type ssize_t
# if defined XOPEN2K8 || defined POSIX2008
Modified: fsf/trunk/libc/conform/data/mqueue.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/mqueue.h-data (original)
+++ fsf/trunk/libc/conform/data/mqueue.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
// should test for not an array type.
type mqd_t
Modified: fsf/trunk/libc/conform/data/ndbm.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ndbm.h-data (original)
+++ fsf/trunk/libc/conform/data/ndbm.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
type datum
element datum {void*} dptr
element datum size_t dsize
Modified: fsf/trunk/libc/conform/data/net/if.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/net/if.h-data (original)
+++ fsf/trunk/libc/conform/data/net/if.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct if_nameindex}
element {struct if_nameindex} {unsigned int} if_index
Modified: fsf/trunk/libc/conform/data/netdb.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/netdb.h-data (original)
+++ fsf/trunk/libc/conform/data/netdb.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
optional-type in_port_t
optional-type in_addr_t
Modified: fsf/trunk/libc/conform/data/netinet/in.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/netinet/in.h-data (original)
+++ fsf/trunk/libc/conform/data/netinet/in.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type in_port_t
type in_addr_t
Modified: fsf/trunk/libc/conform/data/nl_types.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/nl_types.h-data (original)
+++ fsf/trunk/libc/conform/data/nl_types.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type nl_catd
type nl_item
Modified: fsf/trunk/libc/conform/data/poll.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/poll.h-data (original)
+++ fsf/trunk/libc/conform/data/poll.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct pollfd}
element {struct pollfd} int fd
element {struct pollfd} {short int} events
Modified: fsf/trunk/libc/conform/data/pthread.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/pthread.h-data (original)
+++ fsf/trunk/libc/conform/data/pthread.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant PTHREAD_CANCEL_ASYNCHRONOUS
constant PTHREAD_CANCEL_ENABLE
constant PTHREAD_CANCEL_DEFERRED
@@ -31,17 +31,21 @@
# endif
type pthread_attr_t
+# if !defined POSIX
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
type pthread_spinlock_t
+# endif
type pthread_t
function int pthread_attr_destroy (pthread_attr_t*)
@@ -66,6 +70,7 @@
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
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*)
@@ -73,6 +78,7 @@
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
@@ -85,10 +91,14 @@
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)
@@ -97,7 +107,9 @@
# if !defined POSIX && !defined POSIX2008
function int pthread_getconcurrency (void)
# endif
+# if !defined POSIX
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**)
@@ -108,21 +120,27 @@
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
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))
-# ifndef POSIX
+# if !defined POSIX
function int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*)
function int pthread_rwlock_rdlock (pthread_rwlock_t*)
function int pthread_rwlock_timedrdlock (pthread_rwlock_t*, const struct timespec*)
@@ -144,14 +162,16 @@
# endif
function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
function int pthread_setspecific (pthread_key_t, const void*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+# if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
-#endif
+# endif
+# if !defined POSIX
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 *)
Modified: fsf/trunk/libc/conform/data/pwd.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/pwd.h-data (original)
+++ fsf/trunk/libc/conform/data/pwd.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,9 @@
-#ifndef ISO
+#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
@@ -18,7 +23,7 @@
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**)
-# ifndef POSIX2008
+# if !defined POSIX && !defined POSIX2008
function void endpwent (void)
function {struct passwd*} getpwent (void)
function void setpwent (void)
Modified: fsf/trunk/libc/conform/data/regex.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/regex.h-data (original)
+++ fsf/trunk/libc/conform/data/regex.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type regex_t
element regex_t size_t re_nsub
@@ -28,7 +28,7 @@
constant REG_BADBR
constant REG_ESPACE
constant REG_BADRPT
-# if !defined XOPEN2K8 && !defined POSIX2008
+# if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
constant REG_ENOSYS
# endif
Modified: fsf/trunk/libc/conform/data/sched.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sched.h-data (original)
+++ fsf/trunk/libc/conform/data/sched.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type {struct sched_param}
element {struct sched_param} int sched_priority
optional-element {struct sched_param} int sched_ss_low_priority
Modified: fsf/trunk/libc/conform/data/search.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/search.h-data (original)
+++ fsf/trunk/libc/conform/data/search.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
type ENTRY
type {struct entry}
element {struct entry} {char*} key
Modified: fsf/trunk/libc/conform/data/semaphore.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/semaphore.h-data (original)
+++ fsf/trunk/libc/conform/data/semaphore.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type sem_t
constant SEM_FAILED
@@ -9,7 +9,9 @@
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
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*)
Modified: fsf/trunk/libc/conform/data/setjmp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/setjmp.h-data (original)
+++ fsf/trunk/libc/conform/data/setjmp.h-data Mon Feb 27 00:02:19 2012
@@ -1,10 +1,10 @@
type jmp_buf
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type sigjmp_buf
#endif
function void longjmp (jmp_buf, int)
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
function void siglongjmp (sigjmp_buf, int)
# if !defined POSIX && !defined POSIX2008
function void _longjmp (jmp_buf, int)
@@ -12,7 +12,7 @@
#endif
macro-function int setjmp (jmp_buf)
-#ifndef ISO
+#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)
Modified: fsf/trunk/libc/conform/data/signal.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/signal.h-data (original)
+++ fsf/trunk/libc/conform/data/signal.h-data Mon Feb 27 00:02:19 2012
@@ -1,13 +1,20 @@
typed-constant SIG_DFL {void(*)(int)}
typed-constant SIG_ERR {void(*)(int)}
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
typed-constant SIG_HOLD {void(*)(int)}
#endif
typed-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
@@ -26,6 +33,7 @@
element {struct timespec} long tv_nsec
#endif
+#if defined POSIX || defined UNIX98 || defined XOPEN2K8 || defined POSIX2008
element {union sigval} int sival_int
element {union sigval} {void*} sival_ptr
@@ -46,19 +54,25 @@
macro SIGRTMIN
macro SIGRTMAX
+#endif
constant SIGABRT
-constant SIGALRM
constant SIGFPE
-constant SIGHUP
constant SIGILL
constant SIGINT
+constant SIGSEGV
+constant SIGTERM
+
+function void (*signal (int, void(*)(int)))(int)
+function int raise (int)
+
+#if !defined ISO && !defined ISO99 && !defined ISO11
+constant SIGALRM
+constant SIGHUP
constant SIGIO
constant SIGKILL
constant SIGPIPE
constant SIGQUIT
-constant SIGSEGV
-constant SIGTERM
constant SIGUSR1
constant SIGUSR2
constant SIGCHLD
@@ -71,9 +85,9 @@
constant SIGPOLL
constant SIGPROF
constant SIGSYS
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
constant SIGTRAP
-#endif
+# endif
constant SIGURG
constant SIGVTALRM
constant SIGXCPU
@@ -90,21 +104,24 @@
constant SIG_BLOCK
constant SIG_UNBLOCK
constant SIG_SETMASK
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
constant SA_ONSTACK
-#endif
+# endif
+# if !defined POSIX
constant SA_RESETHAND
constant SA_RESTART
constant SA_SIGINFO
constant SA_NOCLDWAIT
constant SA_NODEFER
-#if !defined POSIX && !defined POSIX2008
+# endif
+# if !defined POSIX && !defined POSIX2008
constant SS_ONSTACK
constant SS_DISABLE
constant MINSIGSTKSZ
constant SIGSTKSZ
-#endif
-
+# endif
+
+# if !defined POSIX
type ucontext_t
element ucontext_t {ucontext_t*} uc_link
@@ -122,13 +139,14 @@
element {struct sigstack} int ss_onstack
element {struct sigstack} {void*} ss_sp
+# endif
type siginfo_t
element siginfo_t int si_signo
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
element siginfo_t int si_errno
-#endif
+# endif
element siginfo_t int si_code
element siginfo_t pid_t si_pid
element siginfo_t uid_t si_uid
@@ -178,50 +196,50 @@
constant SI_ASYNCIO
constant SI_MESGQ
-#if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
+# if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
function void (*bsd_signal (int, void(*)(int)))(int)
-#endif
+# endif
function int kill (pid_t, int)
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
function int killpg (pid_t, int)
-#endif
+# endif
function int pthread_kill (pthread_t, int)
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
-function int raise (int)
function int sigaction (int, const struct sigaction*, struct sigaction*)
function int sigaddset (sigset_t*, int)
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
function int sigaltstack (const stack_t*, stack_t*)
-#endif
+# endif
function int sigdelset (sigset_t*, int)
function int sigemptyset (sigset_t*)
function int sigfillset (sigset_t*)
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
function int sighold (int)
function int sigignore (int)
function int siginterrupt (int, int)
-#endif
+# endif
function int sigismember (const sigset_t*, int)
-function void (*signal (int, void(*)(int)))(int)
#if !defined POSIX && !defined POSIX2008
function int sigpause (int)
-#endif
+# endif
function int sigpending (sigset_t*)
function int sigprocmask (int, const sigset_t*, sigset_t*)
function int sigqueue (pid_t, int, const union sigval)
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX && !defined POSIX2008
function int sigrelse (int)
function void (*sigset (int, void(*)(int)))(int)
-#endif
+# endif
+# if !defined POSIX
function int sigstack (struct sigstack*, struct sigstack*)
+# endif
function int sigsuspend (const sigset_t*)
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
function int sigwait (const sigset_t*, int*)
function int sigwaitinfo (const sigset_t*, siginfo_t*)
-#if defined XOPEN2K8 || defined POSIX2008
+# if defined XOPEN2K8 || defined POSIX2008
function void psiginfo (const siginfo_t*, const char*)
function void psignal (int, const char*)
-#endif
+# endif
// The following expressions are not entirely correct but the current
// poorfnmatch implementation doesn't grok the right form.
@@ -248,3 +266,7 @@
allow *_t
allow-header time.h
+#endif
+
+allow SIG[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
+allow SIG_*
Modified: fsf/trunk/libc/conform/data/spawn.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/spawn.h-data (original)
+++ fsf/trunk/libc/conform/data/spawn.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type posix_spawnattr_t
type posix_spawn_file_actions_t
# if defined XOPEN2K8 || defined POSIX2008
Modified: fsf/trunk/libc/conform/data/stdarg.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdarg.h-data (original)
+++ fsf/trunk/libc/conform/data/stdarg.h-data Mon Feb 27 00:02:19 2012
@@ -4,6 +4,9 @@
macro va_start
macro va_arg
macro va_end
+
+#if defined ISO99 || defined ISO11 || defined POSIX2008 || defined XOPEN2K8
macro va_copy
+#endif
allow *_t
Modified: fsf/trunk/libc/conform/data/stdio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdio.h-data (original)
+++ fsf/trunk/libc/conform/data/stdio.h-data Mon Feb 27 00:02:19 2012
@@ -6,9 +6,11 @@
constant _IOLBF
constant _IONBF
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant L_ctermid
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
constant L_cuserid
+# endif
#endif
constant L_tmpnam
@@ -22,7 +24,7 @@
constant NULL
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
constant P_tmpdir
#endif
@@ -32,7 +34,11 @@
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
@@ -40,23 +46,31 @@
#endif
function void clearerr (FILE*)
+#if !defined ISO && !defined ISO99 && !defined ISO11
function {char*} ctermid (char*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+# if defined XPG3 || defined XPG4 || 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 && !defined XPG3 && !defined XPG4
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 XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function void flockfile (FILE*)
+#endif
#if defined XOPEN2K8 || defined POSIX2008
function {FILE*} fmemopen (void*, size_t, const char*)
#endif
@@ -68,41 +82,57 @@
function {FILE*} freopen (const char*, const char*, FILE*)
function int fscanf (FILE*, const char*, ...)
function int fseek (FILE*, long int, int)
+#if 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 XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function off_t ftello (FILE*)
+#endif
+#if defined POSIX || 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 XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int getc_unlocked (FILE*)
function int getchar_unlocked ()
+#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 XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98
function int getopt (int, char *const[], const char *)
#endif
+#if !defined ISO11
function {char*} gets (char*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#endif
+#if defined XPG3 || defined XPG4 || 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 XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int putc_unlocked (int, FILE*)
function int putchar_unlocked (int)
+#endif
function int puts (const char*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98
function int putw (int, FILE*)
#endif
function int remove (const char*)
@@ -114,10 +144,12 @@
function int scanf (const char*, ...)
function void setbuf (FILE*, char*)
function int setvbuf (FILE*, char*, int, size_t)
+#if !defined ISO && !defined POSIX
function int snprintf (char*, size_t, const char*, ...)
+#endif
function int sprintf (char *, const char *, ...)
function int sscanf (const char*, const char*, ...)
-#if !defined POSIX && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8
function {char*} tempnam (const char*, const char*)
#endif
function {FILE*} tmpfile (void)
@@ -127,20 +159,22 @@
function int vdprintf (int, const char*, va_list)
#endif
function int vfprintf (FILE*, const char*, va_list)
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function int vfscanf (FILE*, const char*, va_list)
#endif
function int vprintf (const char*, va_list)
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function int vscanf (const char*, va_list)
#endif
+#if !defined ISO && !defined POSIX
function int vsnprintf (char*, size_t, const char*, va_list)
+#endif
function int vsprintf (char*, const char*, va_list)
-#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function int vsscanf (const char*, const char*, va_list)
#endif
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
variable {char*} optarg
variable int opterr
Modified: fsf/trunk/libc/conform/data/stdlib.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdlib.h-data (original)
+++ fsf/trunk/libc/conform/data/stdlib.h-data Mon Feb 27 00:02:19 2012
@@ -1,15 +1,17 @@
-macro EXIT_FAILURE
-constant EXIT_SUCCESS 0
-macro NULL
-constant RAND_MAX >= 32767
-macro MB_CUR_MAX
-
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 EXIT_FAILURE
+macro EXIT_SUCCESS 0
+
+macro NULL
+constant RAND_MAX >= 32767
+macro MB_CUR_MAX
+
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
type lldiv_t
element lldiv_t {long long} quot
@@ -18,6 +20,7 @@
type size_t
type wchar_t
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
constant WNOHANG
constant WUNTRACED
@@ -27,58 +30,69 @@
macro WIFSTOPPED
macro WSTOPSIG
macro WTERMSIG
+#endif
+#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined UNIX98 && !defined POSIX
function void _Exit (int)
-#if !defined POSIX && !defined POSIX2008
+#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !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 XOPEN2K || defined XOPEN2K8 || defined POSIX2008
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !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 POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double drand48 (void)
#endif
-#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K
function {char*} ecvt (double, int, int*, int*)
#endif
-#if !defined POSIX && !defined POSIX2008
+#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 POSIX && !defined XOPEN2K8 && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K
function {char*} fcvt (double, int, int*, int*)
#endif
function void free (void*)
-#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K
function {char*} gcvt (double, int, char*)
#endif
function {char*} getenv (const char*)
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
function int getsubopt (char**, char *const*, char**)
-#if !defined POSIX && !defined POSIX2008
+#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function int grantpt (int)
function {char*} initstate (unsigned int, char*, size_t)
function {long int} jrand48 (unsigned short int[3])
function {char*} l64a (long)
#endif
function {long int} labs (long int)
-#if !defined POSIX && !defined POSIX2008
+#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 XOPEN2K || defined XOPEN2K8 || defined POSIX2008
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function {long long} llabs (long long)
function lldiv_t lldiv (long long, long long)
#endif
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {long int} lrand48 (void)
#endif
function {void*} malloc (size_t)
@@ -88,40 +102,51 @@
#if defined XOPEN2K8 || defined POSIX2008
function {char*} mkdtemp (char*)
#endif
-#if !defined XOPEN2K8 && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
function {char*} mktemp (char*)
#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
function int mkstemp (char*)
-#if !defined POSIX && !defined POSIX2008
+#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 POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {char*} ptsname (int)
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*)
-#if !defined POSIX && !defined POSIX2008
+#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function long random (void)
#endif
function {void*} realloc (void*, size_t)
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function {char*} realpath (const char*, char*)
function {unsigned short int*} seed48 (unsigned short int[3])
#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
function int setenv (const char*, const char*, int)
-#if !defined POSIX && !defined POSIX2008
+#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function void setkey (const char*)
function {char*} setstate (char*)
#endif
function void srand (unsigned int)
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function void srand48 (long int)
function void srandom (unsigned)
#endif
@@ -129,14 +154,16 @@
function {long int} strtol (const char*, char**, int)
function {unsigned long int} strtoul (const char*, char**, int)
function int system (const char*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#if defined XPG3 || defined XPG4 || defined UNIX98
function int ttyslot (void)
#endif
-#if !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function int unlockpt (int)
#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
function int unsetenv (const char*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
+#endif
+#if defined XPG3 || defined XPG4 || defined UNIX98
function {void*} valloc (size_t)
#endif
function size_t wcstombs (char*, const wchar_t*, size_t)
Modified: fsf/trunk/libc/conform/data/string.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/string.h-data (original)
+++ fsf/trunk/libc/conform/data/string.h-data Mon Feb 27 00:02:19 2012
@@ -5,7 +5,7 @@
type locale_t
#endif
-#if !defined POSIX && !defined POSIX2008
+#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)
@@ -27,7 +27,9 @@
#endif
function {char*} strcpy (char*, const char*)
function size_t strcspn (const char*, const char*)
+#if !defined ISO && !defined ISO99 & !defined ISO11 && !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)
@@ -51,7 +53,9 @@
function size_t strspn (const char*, const char*)
function {char*} strstr (const char*, const char*)
function {char*} strtok (char*, const char*)
+#if 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)
Modified: fsf/trunk/libc/conform/data/strings.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/strings.h-data (original)
+++ fsf/trunk/libc/conform/data/strings.h-data Mon Feb 27 00:02:19 2012
@@ -1,23 +1,25 @@
-#if !defined XOPEN2K8 && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
+# 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 POSIX && !defined POSIX2008
+# endif
+# if !defined POSIX2008
function int ffs (int)
-#endif
+# endif
function int strcasecmp (const char*, const char*)
function int strncasecmp (const char*, const char*, size_t)
-#if defined XOPEN2K8 || defined POSIX2008
+# 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
+# endif
type size_t
-#if defined XOPEN2K8 || defined POSIX2008
+# if defined XOPEN2K8 || defined POSIX2008
type locale_t
-#endif
+# endif
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/stropts.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stropts.h-data (original)
+++ fsf/trunk/libc/conform/data/stropts.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct bandinfo}
element {struct bandinfo} {unsigned char} bi_pri
@@ -135,3 +136,4 @@
allow SND*
allow STR*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/ipc.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/ipc.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/ipc.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
type {struct ipc_perm}
element {struct ipc_perm} uid_t uid
Modified: fsf/trunk/libc/conform/data/sys/mman.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/mman.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/mman.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11
constant PROT_READ
constant PROT_WRITE
constant PROT_EXEC
@@ -16,11 +17,13 @@
constant MAP_FAILED
+#ifndef POSIX
constant POSIX_MADV_NORMAL
constant POSIX_MADV_SEQUENTIAL
constant POSIX_MADV_RANDOM
constant POSIX_MADV_WILLNEED
constant POSIX_MADV_DONTNEED
+#endif
optional-constant POSIX_TYPED_MEM_ALLOCATE
optional-constant POSIX_TYPED_MEM_ALLOCATE_CONTIG
@@ -41,7 +44,9 @@
function int munlock (const void*, size_t)
function int munlockall (void)
function int munmap (void*, size_t)
+#ifndef POSIX
function int posix_madvise (void*, size_t, int)
+#endif
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)
@@ -54,3 +59,4 @@
allow MS_*
allow PROT_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/msg.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/msg.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/msg.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
type {struct msqid_ds}
type msgqnum_t
Modified: fsf/trunk/libc/conform/data/sys/resource.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/resource.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/resource.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
constant PRIO_PROCESS
constant PRIO_PGRP
constant PRIO_USER
Modified: fsf/trunk/libc/conform/data/sys/select.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/select.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/select.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type time_t
type suseconds_t
Modified: fsf/trunk/libc/conform/data/sys/sem.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/sem.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/sem.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
constant SEM_UNDO
constant GETNCNT
Modified: fsf/trunk/libc/conform/data/sys/shm.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/shm.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/shm.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
constant SHM_RDONLY
symbol SHMLBA
constant SHM_RND
Modified: fsf/trunk/libc/conform/data/sys/socket.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/socket.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/socket.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type socklen_t
type sa_family_t
Modified: fsf/trunk/libc/conform/data/sys/stat.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/stat.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/stat.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,28 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
+
+#if !defined POSIX && !defined POSIX2008
+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}
@@ -20,18 +44,6 @@
element {struct stat} blkcnt_t st_blocks
#endif
-#if !defined POSIX && !defined POSIX2008
-type blkcnt_t
-type blksize_t
-#endif
-type dev_t
-type ino_t
-type mode_t
-type nlink_t
-type uid_t
-type gid_t
-type off_t
-type time_t
# if defined XOPEN2K8 || defined POSIX2008
type {struct timespec}
element {struct timespec} time_t tv_sec
@@ -97,7 +109,9 @@
function int fstatat (int, const char*, struct stat*, int)
function int futimens (int, const struct timespec[2])
# endif
+#if !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)
Modified: fsf/trunk/libc/conform/data/sys/statvfs.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/statvfs.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/statvfs.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct statvfs}
element {struct statvfs} {unsigned long} f_bsize
@@ -24,3 +25,4 @@
allow f_*
allow ST_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/time.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/time.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/time.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
type {struct timeval}
element {struct timeval} time_t tv_sec
Modified: fsf/trunk/libc/conform/data/sys/timeb.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/timeb.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/timeb.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct timeb}
element {struct timeb} time_t time
@@ -10,3 +11,4 @@
function int ftime (struct timeb*)
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/times.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/times.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/times.h-data Mon Feb 27 00:02:19 2012
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct tms}
element {struct tms} clock_t tms_utime
@@ -11,3 +12,4 @@
allow tms_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/types.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/types.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/types.h-data Mon Feb 27 00:02:19 2012
@@ -1,15 +1,19 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type blkcnt_t
+#if !defined POSIX
type blksize_t
type clock_t
type clockid_t
+#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
@@ -19,17 +23,21 @@
type off_t
type pid_t
type pthread_attr_t
+#if !defined POSIX
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
type pthread_spinlock_t
+#endif
type pthread_t
type size_t
type ssize_t
Modified: fsf/trunk/libc/conform/data/sys/uio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/uio.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/uio.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct iovec}
element {struct iovec} {void*} iov_base
Modified: fsf/trunk/libc/conform/data/sys/un.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/un.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/un.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type {struct sockaddr_un}
element {struct sockaddr_un} sa_family_t sun_family
Modified: fsf/trunk/libc/conform/data/sys/utsname.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/utsname.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/utsname.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
type {struct utsname}
element {struct utsname} char sysname []
Modified: fsf/trunk/libc/conform/data/sys/wait.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/wait.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/wait.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,9 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
+#ifdef POSIX
+# define pid_t __pid_t
+# define uid_t __uid_t
+#endif
+
constant WNOHANG
constant WUNTRACED
@@ -20,6 +25,7 @@
constant WNOHANG
constant WNOWAIT
+#if !defined POSIX
type idtype_t
constant P_ALL
@@ -27,6 +33,7 @@
constant P_PGID
type id_t
+#endif
type siginfo_t
@@ -40,18 +47,22 @@
element siginfo_t long si_band
element siginfo_t {union sigval} si_value
+#if !defined POSIX
type {struct rusage}
element {struct rusage} {struct timeval} ru_utime
element {struct rusage} {struct timeval} ru_stime
+#endif
type pid_t
function pid_t wait (int*)
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#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)
allow-header signal.h
Modified: fsf/trunk/libc/conform/data/syslog.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/syslog.h-data (original)
+++ fsf/trunk/libc/conform/data/syslog.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
constant LOG_PID
constant LOG_CONS
constant LOG_NDELAY
Modified: fsf/trunk/libc/conform/data/tar.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/tar.h-data (original)
+++ fsf/trunk/libc/conform/data/tar.h-data Mon Feb 27 00:02:19 2012
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined ISO99 && !defined ISO11
macro-str TMAGIC "ustar"
constant TMAGLEN 6
macro-str TVERSION "00"
Modified: fsf/trunk/libc/conform/data/termios.h-data
==============================================================================
[... 2289 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits