2001-08-18  Ulrich Drepper  <drepper@redhat.com>

	* conform/conformtest.pl: Change namespace test to take #undef
	lines into account.

	* conform/data/netinet/in.h-data: Fix typo in allow-header line.

	* conform/data/sys/socket.h-data: Add sockatmark.
This commit is contained in:
Ulrich Drepper 2001-08-18 11:55:52 +00:00
parent 4c3902f988
commit 9c777dfe83
5 changed files with 51 additions and 18 deletions

View File

@ -1,3 +1,12 @@
2001-08-18 Ulrich Drepper <drepper@redhat.com>
* conform/conformtest.pl: Change namespace test to take #undef
lines into account.
* conform/data/netinet/in.h-data: Fix typo in allow-header line.
* conform/data/sys/socket.h-data: Add sockatmark.
2001-08-17 Ulrich Drepper <drepper@redhat.com> 2001-08-17 Ulrich Drepper <drepper@redhat.com>
* io/fts.c: Update from recent BSD source. * io/fts.c: Update from recent BSD source.

View File

@ -224,11 +224,19 @@ sub newtoken {
if ($isknown{$token}) { if ($isknown{$token}) {
++$nknown; ++$nknown;
} else { } else {
++$nerrors; $errors{$token} = 1;
if ($nerrors == 1) { }
printf ("FAIL\n " . "-" x 72 . "\n"); }
}
printf (" Namespace violation: \"%s\"\n", $token);
sub removetoken {
my($token) = @_;
my($idx);
return if ($token =~ /^[0-9_]/ || $iskeyword{$token});
if (exists $errors{$token}) {
undef $errors{$token};
} }
} }
@ -243,14 +251,15 @@ sub checknamespace {
print TESTFILE "#include <$h>\n"; print TESTFILE "#include <$h>\n";
close (TESTFILE); close (TESTFILE);
$nerrors = 0; undef %errors;
$nknown = 0; $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{$dialect} -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |");
loop: while (<CONTENT>) { loop: while (<CONTENT>) {
next loop if (/^#undef /);
chop; chop;
if (/^#define (.*)/) { if (/^#define (.*)/) {
newtoken ($1, @allow); newtoken ($1, @allow);
} elsif (/^#undef (.*)/) {
removetoken ($1);
} else { } else {
# We have to tokenize the line. # We have to tokenize the line.
my($str) = $_; my($str) = $_;
@ -266,14 +275,28 @@ sub checknamespace {
} }
close (CONTENT); close (CONTENT);
unlink "$fnamebase.c"; unlink "$fnamebase.c";
if ($nerrors != 0) { $realerror = 0;
printf (" " . "-" x 72 . "\n"); if ($#errors != 0) {
++$errors; foreach $f (%errors) {
} elsif ($nknown > 0) { if ($errors{$f} == 1) {
printf ("EXPECTED FAILURES\n"); if ($realerror == 0) {
++$known; printf ("FAIL\n " . "-" x 72 . "\n");
} else { $realerror = 1;
printf ("OK\n"); ++$errors;
}
printf (" Namespace violation: \"%s\"\n", $f);
}
}
printf (" " . "-" x 72 . "\n") if ($realerror != 0);
}
if ($realerror == 0) {
if ($nknown > 0) {
printf ("EXPECTED FAILURES\n");
++$known;
} else {
printf ("OK\n");
}
} }
} }

View File

@ -58,7 +58,7 @@ function uint16_t htons (uint16_t)
function uint32_t ntohl (uint32_t) function uint32_t ntohl (uint32_t)
function uint16_t ntohs (uint16_t) function uint16_t ntohs (uint16_t)
allow-header intttypes.h allow-header inttypes.h
allow-header arpa/inet.h allow-header arpa/inet.h
constant INET6_ADDRSTRLEN 46 constant INET6_ADDRSTRLEN 46

View File

@ -103,6 +103,7 @@ function int setsockopt (int, int, int, const void*, socklen_t)
function int shutdown (int, int) function int shutdown (int, int)
function int socket (int, int, int) function int socket (int, int, int)
function int socketpair (int, int, int, int[2]) function int socketpair (int, int, int, int[2])
function int sockatmark (int)
allow-header sys/uio.h allow-header sys/uio.h

View File

@ -653,7 +653,7 @@ fts_build(sp, type)
cur->fts_flags |= FTS_DONTCHDIR; cur->fts_flags |= FTS_DONTCHDIR;
descend = 0; descend = 0;
cderrno = errno; cderrno = errno;
(void)closedir(dirp); (void)__closedir(dirp);
dirp = NULL; dirp = NULL;
} else } else
descend = 1; descend = 1;
@ -685,7 +685,7 @@ fts_build(sp, type)
/* Read the directory, attaching each entry to the `link' pointer. */ /* Read the directory, attaching each entry to the `link' pointer. */
doadjust = 0; doadjust = 0;
for (head = tail = NULL, nitems = 0; dirp && (dp = readdir(dirp));) { for (head = tail = NULL, nitems = 0; dirp && (dp = __readdir(dirp));) {
if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name)) if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
continue; continue;