S390: Fix build failure in test string/tst-endian.c with gcc 6.
commitf69f887092914f6e1abcc2d622e4f5e56a6e1645
authorStefan Liebler <stli@linux.vnet.ibm.com>
Mon, 25 Jan 2016 11:44:46 +0000 (25 12:44 +0100)
committerStefan Liebler <stli@linux.vnet.ibm.com>
Mon, 25 Jan 2016 11:44:46 +0000 (25 12:44 +0100)
tree059ff394b3baaf5826240aff0afa6305a4dcb158
parentc34ae92056f29f0843274c0cb4ea8c301f4b13e8
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.
ChangeLog
string/tst-endian.c