about summary refs log tree commit diff
path: root/stdlib
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2016-11-20 20:46:30 -0500
committerZack Weinberg <zackw@panix.com>2017-02-25 09:59:46 -0500
commite15f7de60c26bb75fe1923b17c5f0461164d1a41 (patch)
treed13a54b7a2d5c1f0046a5c7a704c42a6a8248219 /stdlib
parent7caa5054afc1754a871333b1539e08a4af79444e (diff)
downloadglibc-e15f7de60c26bb75fe1923b17c5f0461164d1a41.tar.gz
glibc-e15f7de60c26bb75fe1923b17c5f0461164d1a41.tar.xz
glibc-e15f7de60c26bb75fe1923b17c5f0461164d1a41.zip
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).
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/bug-getcontext.c2
-rw-r--r--stdlib/tst-environ.c7
2 files changed, 7 insertions, 2 deletions
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 <stdio.h>
 #include <stdlib.h>
 #include <ucontext.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
 
 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 <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-
+#include <libc-diag.h>
 
 #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)