about summary refs log tree commit diff
path: root/sysvipc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-27 17:52:42 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-27 17:52:42 +0000
commitac782f9e9ab0a39a3054e4c97653fafa8ea47a62 (patch)
tree0afe5ff050d761b017bef5fecf09fe5975f9b6c1 /sysvipc
parente4043b84c49e1cf9bcf1e8320233343ecc34f8eb (diff)
downloadglibc-ac782f9e9ab0a39a3054e4c97653fafa8ea47a62.tar.gz
glibc-ac782f9e9ab0a39a3054e4c97653fafa8ea47a62.tar.xz
glibc-ac782f9e9ab0a39a3054e4c97653fafa8ea47a62.zip
Fix elf/loadtest.c build with GCC 8.
Building the testsuite with current GCC mainline fails with:

loadtest.c: In function 'main':
loadtest.c:76:3: error: macro expands to multiple statements [-Werror=multistatement-macros]
   for (map = MAPS; map != NULL; map = map->l_next)        \
   ^
loadtest.c:165:2: note: in expansion of macro 'OUT'
  OUT;
  ^~~
loadtest.c:164:7: note: some parts of macro expansion are not guarded by this 'if' clause
       if (debug)
       ^~

This seems like a genuine bug, although fairly harmless; it means the
fflush call in the OUT macro is unconditional instead of being inside
the conditional as presumably intended.  This patch makes this macro
use do { } while (0) to avoid the problem.

Tested for x86_64 (testsuite), and with build-many-glibcs.py for
aarch64-linux-gnu with GCC mainline.

	* elf/loadtest.c (OUT): Define using do { } while (0).
Diffstat (limited to 'sysvipc')
0 files changed, 0 insertions, 0 deletions