aboutsummaryrefslogtreecommitdiff
path: root/conform
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-02-28 05:08:01 +0000
committerUlrich Drepper <drepper@redhat.com>2000-02-28 05:08:01 +0000
commit0ed99ce46d9521347c2fd1c72f7b4e9aa0e3f4d0 (patch)
tree5aa27fb2d06f760ba64c7424d36f2bf91a1940f9 /conform
parent919e98fa39e74f1bbd5c4b0b21edbce3d293f03f (diff)
downloadglibc-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')
-rw-r--r--conform/conformtest.pl57
-rw-r--r--conform/data/fcntl.h-data5
-rw-r--r--conform/data/fnmatch.h-data1
-rw-r--r--conform/data/math.h-data1
-rw-r--r--conform/data/ndbm.h-data2
-rw-r--r--conform/data/nl_types.h-data1
-rw-r--r--conform/data/poll.h-data4
-rw-r--r--conform/data/pthread.h-data2
-rw-r--r--conform/data/semaphore.h-data1
-rw-r--r--conform/data/setjmp.h-data2
-rw-r--r--conform/data/signal.h-data11
-rw-r--r--conform/data/stdarg.h-data2
-rw-r--r--conform/data/stddef.h-data2
-rw-r--r--conform/data/stdio.h-data2
-rw-r--r--conform/data/stdlib.h-data3
-rw-r--r--conform/data/string.h-data4
-rw-r--r--conform/data/strings.h-data2
-rw-r--r--conform/data/stropts.h-data14
-rw-r--r--conform/data/sys/ipc.h-data4
-rw-r--r--conform/data/sys/mman.h-data7
-rw-r--r--conform/data/sys/msg.h-data4
-rw-r--r--conform/data/sys/resource.h-data50
-rw-r--r--conform/data/sys/sem.h-data37
-rw-r--r--conform/data/sys/shm.h-data32
-rw-r--r--conform/data/sys/stat.h-data75
-rw-r--r--conform/data/sys/statvfs.h-data26
-rw-r--r--conform/data/sys/time.h-data40
-rw-r--r--conform/data/sys/timeb.h-data12
-rw-r--r--conform/data/sys/times.h-data13
-rw-r--r--conform/data/sys/types.h-data34
-rw-r--r--conform/data/sys/uio.h-data11
-rw-r--r--conform/data/sys/wait.h-data64
-rw-r--r--conform/data/syslog.h-data3
-rw-r--r--conform/data/tar.h-data29
-rw-r--r--conform/data/termios.h-data159
-rw-r--r--conform/data/time.h-data75
-rw-r--r--conform/data/ucontext.h-data20
-rw-r--r--conform/data/ulimit.h-data7
-rw-r--r--conform/data/unistd.h-data308
-rw-r--r--conform/data/utime.h-data11
-rw-r--r--conform/data/utmpx.h-data36
-rw-r--r--conform/data/varargs.h-data8
-rw-r--r--conform/data/wchar.h-data95
-rw-r--r--conform/data/wctype.h-data36
-rw-r--r--conform/data/wordexp.h-data25
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