From e15f7de60c26bb75fe1923b17c5f0461164d1a41 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Sun, 20 Nov 2016 20:46:30 -0500 Subject: Split DIAG_* macros to new header libc-diag.h. Quite a few tests include libc-internal.h just for the DIAG_* macros. Split those macros to their own file, which can be included safely in _ISOMAC mode. I also moved ignore_value, since it seems logically related, even though I didn't notice any tests needing it. Also add -Wnonnull suppressions to two tests that _should_ have them, but the error is masked when compiling against internal headers. * include/libc-diag.h: New file. Define ignore_value, DIAG_PUSH_NEEDS_COMMENT, DIAG_POP_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT, and DIAG_IGNORE_Os_NEEDS_COMMENT here. * include/libc-internal.h: Definitions of above macros moved from here. Include libc-diag.h. Add copyright notice. * malloc/tst-malloc.c, malloc/tst-memcheck.c, malloc/tst-realloc.c * misc/tst-error1.c, posix/tst-dir.c, stdio-common/bug21.c * stdio-common/scanf14.c, stdio-common/scanf4.c, stdio-common/scanf7.c * stdio-common/test-vfprintf.c, stdio-common/tst-printf.c * stdio-common/tst-printfsz.c, stdio-common/tst-sprintf.c * stdio-common/tst-unlockedio.c, stdio-common/tstdiomisc.c * stdlib/bug-getcontext.c, string/tester.c, string/tst-endian.c * time/tst-strptime2.c, wcsmbs/tst-wcstof.c: Include libc-diag.h instead of libc-internal.h. * stdlib/tst-environ.c: Include libc-diag.h. Suppress -Wnonnull for call to unsetenv (NULL). * nptl/tst-mutex1.c: Include libc-diag.h. Suppress -Wnonnull for call to pthread_mutexattr_destroy (NULL). --- stdlib/bug-getcontext.c | 2 +- stdlib/tst-environ.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'stdlib') diff --git a/stdlib/bug-getcontext.c b/stdlib/bug-getcontext.c index c4072129a6..163400acba 100644 --- a/stdlib/bug-getcontext.c +++ b/stdlib/bug-getcontext.c @@ -5,7 +5,7 @@ #include #include #include -#include +#include static int do_test (void) diff --git a/stdlib/tst-environ.c b/stdlib/tst-environ.c index 6a29fed62a..b2301641f5 100644 --- a/stdlib/tst-environ.c +++ b/stdlib/tst-environ.c @@ -19,7 +19,7 @@ #include #include #include - +#include #define VAR "FOOBAR" @@ -196,12 +196,17 @@ do_test (void) result = 1; } + /* This deliberately tests supplying a null pointer to a function whose + argument is marked __attribute__ ((nonnull)). */ + DIAG_PUSH_NEEDS_COMMENT; + DIAG_IGNORE_NEEDS_COMMENT(5, "-Wnonnull"); errno = 0; if (unsetenv (NULL) >= 0 || errno != EINVAL) { puts ("unsetenv #1 failed"); result = 1; } + DIAG_POP_NEEDS_COMMENT; errno = 0; if (unsetenv ("") >= 0 || errno != EINVAL) -- cgit 1.4.1