diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-02-28 05:08:01 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-02-28 05:08:01 +0000 |
commit | 0ed99ce46d9521347c2fd1c72f7b4e9aa0e3f4d0 (patch) | |
tree | 5aa27fb2d06f760ba64c7424d36f2bf91a1940f9 /conform/conformtest.pl | |
parent | 919e98fa39e74f1bbd5c4b0b21edbce3d293f03f (diff) | |
download | glibc-0ed99ce46d9521347c2fd1c72f7b4e9aa0e3f4d0.tar.gz |
Update.
2000-02-27 Ulrich Drepper <drepper@redhat.com>
* conform/conformtest.pl (@headers): Add wordexp.h, wctype.h, wchar.h,
varargs.h, utmpx.h, utime.h, unistd.h, ulimit.h, ucontext.h, time.h,
termios.h, tar.h, sys/wait.h, sys/uio.h, sys/types.h, sys/times.h,
sys/timeb.h, sys/time.h, sys/statvfs.h, sys/stat.h, sys/shm.h,
sys/sem.h, and sys/resource.h.
Implement handling of allow-header.
* conform/data/fcntl.h-data: Correct various bugs.
* conform/data/fnmatch.h-data: Likewise.
* conform/data/math.h-data: Likewise.
* conform/data/ndbm.h-data: Likewise.
* conform/data/nl_types.h-data: Likewise.
* conform/data/poll.h-data: Likewise.
* conform/data/pthread.h-data: Likewise.
* conform/data/semaphore.h-data: Likewise.
* conform/data/setjmp.h-data: Likewise.
* conform/data/signal.h-data: Likewise.
* conform/data/stdarg.h-data: Likewise.
* conform/data/stddef.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/syslog.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/tar.h-data: New file.
* conform/data/termios.h-data: New file.
* conform/data/time.h-data: New file.
* conform/data/ucontext.h-data: New file.
* conform/data/ulimit.h-data: New file.
* conform/data/unistd.h-data: New file.
* conform/data/utime.h-data: New file.
* conform/data/utmpx.h-data: New file.
* conform/data/varargs.h-data: New file.
* conform/data/wchar.h-data: New file.
* conform/data/wctype.h-data: New file.
* conform/data/wordexp.h-data: New file.
* conform/data/sys/resource.h-data: New file.
* conform/data/sys/sem.h-data: New file.
* conform/data/sys/shm.h-data: New file.
* conform/data/sys/stat.h-data: New file.
* conform/data/sys/statvfs.h-data: New file.
* conform/data/sys/time.h-data: New file.
* conform/data/sys/timeb.h-data: New file.
* conform/data/sys/times.h-data: New file.
* conform/data/sys/types.h-data: New file.
* conform/data/sys/uio.h-data: New file.
* conform/data/sys/wait.h-data: New file.
* grp/grp.h (getgrent_r): Declare only if __USE_GNU.
* include/sys/time.h (__itimes): Fix type of second parameter.
* io/sys/stat.h (S_IFLNK): Define also if __USE_XOPEN.
(S_ISVTX): Likewise.
* io/sys/statvfs.h: Define fsblkcnt_t and fsfilcnt_t.
* locale/langindo.h: Make ERA_YEAR, INT_CURR_SYMBOL, CURRENCY_SYMBOL,
MON_DECIMAL_POINT, MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN,
NEGATIVE_SIGN, INT_FRAC_DIGITS, FRAC_DIGITS, P_CS_PRECEDES,
P_SEP_BY_SPACE, N_CS_PRECEDES, N_SEP_BY_SPACE, P_SIGN_POSN,
N_SIGN_POSN, DECIMAL_POINT, THOUSANDS_SEP, GROUPING, YESEXPR,
NOEXPR, YESSTR, and NOSTR only available if __USE_GNU.
* math/bits/mathcalls.h: Don't declare tgamma and scalbn if only
__USE_XOPEN.
* posix/unistd.h: Don't define ptrdiff_t.
(sbrk): Correct type of parameter.
* sysdeps/generic/sbrk.c: Likewise.
* sysdeps/mach/hurd/sbrk.c: Likewise.
* posix/sys/types.h: Allow id_t, suseconds_t, fsblkcnt_t, and
fsfilcnt_t being defined elsewhere.
* resource/sys/resource.h: Define id_t.
If __USE_XOPEN use int for type of first parameter if getrlimit,
getrlimit64, setrlimit, setrlimit64, getrusage, getpriority, and
setpriority.
* sysdeps/generic/getpriority.c: Fix type of second parameter.
* sysdeps/generic/setpriority.c: Likewise.
* sysdeps/mach/hurd/getpriority.c: Likewise.
* sysdeps/mach/hurd/setpriority.c: Likewise.
* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
* sysdeps/unix/sysv/irix4/setpriority.c: Likewise.
* sysdeps/unix/sysv/linux/getpriority.c: Likewise.
* sysdeps/generic/utimes.c: Fix parameter of third parameter.
* sysdeps/mach/hurd/utimes.c: Likewise.
* sysdeps/posix/utimes.c: Likewise.
* sysdeps/generic/bits/shm.h: Define shmatt_t type and use it in
struct shmid_ds definition.
* sysdeps/gnu/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
* sysvipc/sys/shm.h: Define time_t.
* sysvipc/sys/sem.h (struct sembuf): Make sem_num field unsigned.
* sysdeps/gnu/bits/sem.h: Rename anonymous type struct sem_queue and
struct sem_undo to struct __sem_queue and struct __sem_undo resp.
* time/time.h: Define suseconds_t if not already done.
* sysdeps/unix/sysv/linux/bits/statvfs.h: Rename f_spare to __f_spare.
* sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
* sysdeps/unix/sysv/linux/statvfs64.c: Likewise.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
* intl/bindtextdom.c: Use rwlock to avoid surprising results in
multithreaded applications.
* intl/dcigettext.c: Likewise.
* intl/textdomain.c: Likewise.
* intl/*.c: Update copyright.
* sysdeps/generic/bits/libc-lock.h: Define __libc_rwlock_* stubs.
2000-02-27 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/configure.in: Treat also "/usr/" as
prefix especially.
2000-02-27 Ulrich Drepper <drepper@redhat.com>
* po/de.po: Update from translation team.
* po/ko.po: Likewise.
Diffstat (limited to 'conform/conformtest.pl')
-rw-r--r-- | conform/conformtest.pl | 57 |
1 files changed, 56 insertions, 1 deletions
diff --git a/conform/conformtest.pl b/conform/conformtest.pl index 23fff7084d..0608d9ff15 100644 --- a/conform/conformtest.pl +++ b/conform/conformtest.pl @@ -4,7 +4,12 @@ $CC = "gcc"; $CFLAGS = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=500"; # List of the headers we are testing. -@headers = ("sys/msg.h", "sys/mman.h", "sys/ipc.h", "syslog.h", +@headers = ("wordexp.h", "wctype.h", "wchar.h", "varargs.h", "utmpx.h", + "utime.h", "unistd.h", "ulimit.h", "ucontext.h", "time.h", + "termios.h", "tar.h", "sys/wait.h", "sys/uio.h", "sys/types.h", + "sys/times.h", "sys/timeb.h", "sys/time.h", "sys/statvfs.h", + "sys/stat.h", "sys/shm.h", "sys/sem.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", "stddef.h", "stdarg.h", "signal.h", "setjmp.h", "semaphore.h", "search.h", "sched.h", "regex.h", "pwd.h", "pthread.h", @@ -240,6 +245,7 @@ while ($#headers >= 0) { my($fnamebase) = "$tmpdir/$hf-test"; my($missing); my(@allow) = (); + my(@allowheader) = (); my($prepend) = $mustprepend{$h}; printf ("Testing <$h>\n"); @@ -539,6 +545,10 @@ while ($#headers >= 0) { my($pattern) = $1; push @allow, $pattern; next control; + } elsif (/^allow-header *(.*)/) { + my($pattern) = $1; + push @allowheader, $pattern; + next control; } else { # printf ("line is `%s'\n", $_); next control; @@ -548,6 +558,51 @@ while ($#headers >= 0) { } close (CONTROL); + # Read the data files for the header files which are allowed to be included. + while ($#allowheader >= 0) { + my($ah) = pop @allowheader; + + open (ALLOW, "$CC -E -D$dialect - < data/$ah-data |"); + acontrol: while (<ALLOW>) { + next acontrol if (/^#/); + next acontrol if (/^[ ]*$/); + + if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) { + push @allow, $7; + } elsif (/^constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) { + push @allow, $1; + } elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) { + push @allow, 1; + } elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) { + my($type) = "$2$3"; + + # Remember that this name is allowed. + if ($type =~ /^struct *(.*)/) { + push @allow, $1; + } elsif ($type =~ /^union *(.*)/) { + push @allow, $1; + } else { + push @allow, $type; + } + } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) { + push @allow, $4; + } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) { + push @allow, $4; + } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) { + push @allow, $4; + } elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) { + push @allow, $4; + } elsif (/^macro *([^ ]*)/) { + push @allow, $1; + } elsif (/^allow *(.*)/) { + push @allow, $1; + } elsif (/^allow-header *(.*)/) { + push @allowheader, $1; + } + } + close (ALLOW); + } + # Now check the namespace. printf (" Checking the namespace of \"%s\"... ", $h); if ($missing) { |