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 | |
| parent | 919e98fa39e74f1bbd5c4b0b21edbce3d293f03f (diff) | |
| download | glibc-0ed99ce46d9521347c2fd1c72f7b4e9aa0e3f4d0.tar.xz glibc-0ed99ce46d9521347c2fd1c72f7b4e9aa0e3f4d0.zip | |
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')
45 files changed, 1334 insertions, 3 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) { diff --git a/conform/data/fcntl.h-data b/conform/data/fcntl.h-data index 0344ce973b..cf34c2b9ce 100644 --- a/conform/data/fcntl.h-data +++ b/conform/data/fcntl.h-data @@ -50,6 +50,9 @@ function int open (const char*, int, ...) allow-header sys/stat.h allow-header unistd.h -allow *_t allow l_* +allow F_* +allow O_* +allow S_* +allow *_t #endif diff --git a/conform/data/fnmatch.h-data b/conform/data/fnmatch.h-data index 82a4136c56..ef34fc4e04 100644 --- a/conform/data/fnmatch.h-data +++ b/conform/data/fnmatch.h-data @@ -7,5 +7,6 @@ constant FNM_NOSYS function int fnmatch (const char*, const char*, int) +allow FNM_* allow *_t #endif diff --git a/conform/data/math.h-data b/conform/data/math.h-data index 466de7d687..0d391eb99a 100644 --- a/conform/data/math.h-data +++ b/conform/data/math.h-data @@ -32,6 +32,7 @@ function double frexp (double, int*) function double ldexp (double, int) function double log (double) function double log10 (double) +function double modf (double, double*) function double pow (double, double) function double sin (double) function double sinh (double) diff --git a/conform/data/ndbm.h-data b/conform/data/ndbm.h-data index 7843941114..6e606e589c 100644 --- a/conform/data/ndbm.h-data +++ b/conform/data/ndbm.h-data @@ -22,5 +22,7 @@ function datum dbm_nextkey (DBM*) function {DBM*} dbm_open (const char*, int, mode_t) function int dbm_store (DBM*, datum, datum, int) +allow dbm_* +allow DBM_* allow *_t #endif diff --git a/conform/data/nl_types.h-data b/conform/data/nl_types.h-data index 7cabf3ff62..ec2c18bc3e 100644 --- a/conform/data/nl_types.h-data +++ b/conform/data/nl_types.h-data @@ -9,5 +9,6 @@ function int catclose (nl_catd) function {char*} catgets (nl_catd, int, int, const char*) function nl_catd catopen (const char*, int) +allow NL_* allow *_t #endif diff --git a/conform/data/poll.h-data b/conform/data/poll.h-data index fdc7b2f5ea..b695cad6d8 100644 --- a/conform/data/poll.h-data +++ b/conform/data/poll.h-data @@ -19,5 +19,9 @@ constant POLLNVAL function int poll (struct pollfd[], nfsd_t, int) +allow pd_* +allow ph_* +allow ps_* +allow POLL* allow *_t #endif diff --git a/conform/data/pthread.h-data b/conform/data/pthread.h-data index eb0523e6af..f437814528 100644 --- a/conform/data/pthread.h-data +++ b/conform/data/pthread.h-data @@ -1,4 +1,4 @@ -#ifdef ISO +#ifndef ISO constant PTHREAD_CANCEL_ASYNCHRONOUS constant PTHREAD_CANCEL_ENABLE constant PTHREAD_CANCEL_DEFERRED diff --git a/conform/data/semaphore.h-data b/conform/data/semaphore.h-data index 9664b67dd5..8a59746f51 100644 --- a/conform/data/semaphore.h-data +++ b/conform/data/semaphore.h-data @@ -20,4 +20,5 @@ allow-header sys/types.h allow sem_* allow SEM_* +allow *_t #endif diff --git a/conform/data/setjmp.h-data b/conform/data/setjmp.h-data index 806dacfc94..ef29c9cbe8 100644 --- a/conform/data/setjmp.h-data +++ b/conform/data/setjmp.h-data @@ -18,3 +18,5 @@ macro-function int sigsetjmp (sigjmp_buf, int) macro-function int _setjmp (jmp_buf) # endif #endif + +allow *_t diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data index fda1af9436..ee6ec52e3c 100644 --- a/conform/data/signal.h-data +++ b/conform/data/signal.h-data @@ -189,3 +189,14 @@ allow SI_* allow sigev_* allow SIGEV_* allow sival_* +allow SA_* +allow BUS_* +allow CLD_* +allow FPE_* +allow ILL_* +allow POLL_* +allow SEGV_* +allow SS_* +allow SV_* +allow TRAP_* +allow *_t diff --git a/conform/data/stdarg.h-data b/conform/data/stdarg.h-data index 719d504ef9..ee228d0cd0 100644 --- a/conform/data/stdarg.h-data +++ b/conform/data/stdarg.h-data @@ -5,3 +5,5 @@ macro va_start macro va_arg macro va_end macro va_copy + +allow *_t diff --git a/conform/data/stddef.h-data b/conform/data/stddef.h-data index 05b157060a..630e017acf 100644 --- a/conform/data/stddef.h-data +++ b/conform/data/stddef.h-data @@ -6,3 +6,5 @@ type ptrdiff_t type wchar_t type size_t type wint_t + +allow *_t diff --git a/conform/data/stdio.h-data b/conform/data/stdio.h-data index 93238ba0ba..9299a9ad83 100644 --- a/conform/data/stdio.h-data +++ b/conform/data/stdio.h-data @@ -100,4 +100,6 @@ variable int optind variable int optopt allow-header stddef.h + +allow *_t #endif diff --git a/conform/data/stdlib.h-data b/conform/data/stdlib.h-data index 00fd032227..74dc452084 100644 --- a/conform/data/stdlib.h-data +++ b/conform/data/stdlib.h-data @@ -83,3 +83,6 @@ allow-header stddef.h allow-header limits.h allow-header math.h allow-header sys/wait.h + +allow str* +allow *_t diff --git a/conform/data/string.h-data b/conform/d |
