This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Disable -Waddress for part of nptl/tst-mutex1.c
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Wed, 26 Nov 2014 17:31:41 +0000
- Subject: Disable -Waddress for part of nptl/tst-mutex1.c
- Authentication-results: sourceware.org; auth=none
This patch, relative to a tree with
<https://sourceware.org/ml/libc-alpha/2014-11/msg00736.html> (pending
review) applied, uses diagnostic control pragmas to disable -Waddress
around comparisons in nptl/tst-mutex1.c where comparing the address of
an object with NULL is deliberate (the macro ATTR is NULL when
tst-mutex1.c is used directly, the address of an object when included
from tst-mutexpi1.c, and this is how the test distinguishes). While
it would of course be possible e.g. to define another macro ATTR_NULL
in a way that avoids the comparison giving rise to the warning, that
seems excessive, and disabling the warning natural, when it's a simple
case of natural code deliberately doing something that gives rise to a
warning because in other circumstances it might not be deliberate.
Tested for x86_64.
2014-11-26 Joseph Myers <joseph@codesourcery.com>
* nptl/tst-mutex1.c: Include <libc-internal.h>.
(do_test): Disable -Waddress around comparisons ATTR != NULL.
diff --git a/nptl/tst-mutex1.c b/nptl/tst-mutex1.c
index 2a181e5..ef559c6 100644
--- a/nptl/tst-mutex1.c
+++ b/nptl/tst-mutex1.c
@@ -19,6 +19,7 @@
#include <pthread.h>
#include <stdio.h>
#include <errno.h>
+#include <libc-internal.h>
#ifndef ATTR
@@ -32,6 +33,11 @@ do_test (void)
pthread_mutex_t m;
int e = pthread_mutex_init (&m, ATTR);
+ /* When included from tst-mutexpi1.c, there is a warning "the
+ comparison will always evaluate as 'true' for the address of 'a'
+ will never be NULL". */
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Waddress");
if (ATTR != NULL && e == ENOTSUP)
{
puts ("cannot support selected type of mutexes");
@@ -48,6 +54,7 @@ do_test (void)
puts ("mutexattr_destroy failed");
return 1;
}
+ DIAG_POP_NEEDS_COMMENT;
if (pthread_mutex_lock (&m) != 0)
{
--
Joseph S. Myers
joseph@codesourcery.com