This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.22-701-gf69f887
- From: stli at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 25 Jan 2016 11:51:00 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.22-701-gf69f887
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via f69f887092914f6e1abcc2d622e4f5e56a6e1645 (commit)
from c34ae92056f29f0843274c0cb4ea8c301f4b13e8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f69f887092914f6e1abcc2d622e4f5e56a6e1645
commit f69f887092914f6e1abcc2d622e4f5e56a6e1645
Author: Stefan Liebler <stli@linux.vnet.ibm.com>
Date: Mon Jan 25 12:44:46 2016 +0100
S390: Fix build failure in test string/tst-endian.c with gcc 6.
Building string/tst-endian.c with gcc 6 produces an build warning/error on s390 (big endian machine):
gcc tst-endian.c -c -std=gnu11 -fgnu89-inline -O2 or -O3 ...
tst-endian.c: In function â??do_testâ??:
tst-endian.c:16:30: error: self-comparison always evaluates to false [-Werror=tautological-compare]
if (htobe16 (be16toh (i)) != i)
^~
...
See definitions of htobexx, bexxtoh in string/endian.h:
...
This patch silences these warnings with DIAG_* macros if build with gcc 6
and newer.
The same warnings occur on little endian machines with the
"htoleXX (leXXtoh (i)) != i" if-statements.
ChangeLog:
* string/tst-endian.c: Include <libc-internal.h>.
(do_test): Ignore tautological-compare warnings around
"htobeXX (beXXtoh (i)) != i" and
"htoleXX (leXXtoh (i)) != i" if-statements.
diff --git a/ChangeLog b/ChangeLog
index 6c21184..9bdcb51 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-01-22 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * string/tst-endian.c: Include <libc-internal.h>.
+ (do_test): Ignore tautological-compare warnings around
+ "htobeXX (beXXtoh (i)) != i" and
+ "htoleXX (leXXtoh (i)) != i" if-statements.
+
2016-01-24 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/sparc32/fpu/e_sqrtl.c: New file.
diff --git a/string/tst-endian.c b/string/tst-endian.c
index 8684bb2..7d39131 100644
--- a/string/tst-endian.c
+++ b/string/tst-endian.c
@@ -3,6 +3,20 @@
#include <inttypes.h>
#include <stdio.h>
#include <stdint.h>
+#include <libc-internal.h>
+
+#if __GNUC_PREREQ (6, 0)
+/* GCC 6.0 warns on big endian systems about:
+ htobeXX (beXXtoh (i)) != i
+ warning: self-comparison always evaluates to false [-Wtautological-compare]
+ because htobeXX(x) and beXXtoh(x) is defined to (x)
+ in string/endian.h on big endian systems.
+ The same applies to htoleXX/leXXtoh on little endian systems. */
+# define DIAG_IGNORE_NEEDS_COMMENT_TAUTOLOGICAL_COMPARE() \
+ DIAG_IGNORE_NEEDS_COMMENT (6, "-Wtautological-compare")
+#else
+# define DIAG_IGNORE_NEEDS_COMMENT_TAUTOLOGICAL_COMPARE()
+#endif
static int
do_test (void)
@@ -13,6 +27,8 @@ do_test (void)
{
if (i < UINT64_C (65536))
{
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_NEEDS_COMMENT_TAUTOLOGICAL_COMPARE ();
if (htobe16 (be16toh (i)) != i)
{
printf ("htobe16 (be16toh (%" PRIx64 ")) == %" PRIx16 "\n",
@@ -25,6 +41,7 @@ do_test (void)
i, (uint16_t) htole16 (le16toh (i)));
result = 1;
}
+ DIAG_POP_NEEDS_COMMENT;
uint16_t n[2];
n[__BYTE_ORDER == __LITTLE_ENDIAN] = bswap_16 (i);
@@ -45,6 +62,8 @@ do_test (void)
if (i < UINT64_C (4294967296))
{
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_NEEDS_COMMENT_TAUTOLOGICAL_COMPARE ();
if (htobe32 (be32toh (i)) != i)
{
printf ("htobe32 (be32toh (%" PRIx64 ")) == %" PRIx32 "\n",
@@ -57,6 +76,7 @@ do_test (void)
i, (uint32_t) htole32 (le32toh (i)));
result = 1;
}
+ DIAG_POP_NEEDS_COMMENT;
uint32_t n[2];
n[__BYTE_ORDER == __LITTLE_ENDIAN] = bswap_32 (i);
@@ -75,6 +95,8 @@ do_test (void)
}
}
+ DIAG_PUSH_NEEDS_COMMENT;
+ DIAG_IGNORE_NEEDS_COMMENT_TAUTOLOGICAL_COMPARE ();
if (htobe64 (be64toh (i)) != i)
{
printf ("htobe64 (be64toh (%" PRIx64 ")) == %" PRIx64 "\n",
@@ -87,6 +109,7 @@ do_test (void)
i, htole64 (le64toh (i)));
result = 1;
}
+ DIAG_POP_NEEDS_COMMENT;
uint64_t n[2];
n[__BYTE_ORDER == __LITTLE_ENDIAN] = bswap_64 (i);
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
string/tst-endian.c | 23 +++++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources