]> git.ipfire.org Git - thirdparty/systemd.git/commit
build-sys: Check behavior of -Werror=shadow before deciding to use it 1341/head
authorFilipe Brandenburger <filbranden@google.com>
Sat, 5 Sep 2015 23:52:51 +0000 (16:52 -0700)
committerFilipe Brandenburger <filbranden@google.com>
Tue, 22 Sep 2015 16:54:33 +0000 (09:54 -0700)
commita01a4517e16c532fbd5203fbfe2571255e2cd312
tree8dd5d51839ebd7b5fb173a13ac65ba8f85f045ec
parent6a937f0645ab335ef13a79951c3e94d6d8becea9
build-sys: Check behavior of -Werror=shadow before deciding to use it

gcc versions 4.6 and earlier used to complain when a local variable
shadows a global function, 4.7 and above only complain if a local
variable shadows a global variable.

Fix this by checking whether gcc 4.7+ behavior is in place before
deciding to use -Werror=shadow in $(CFLAGS), by using a custom test
program source that shadows a global function with a local variable and
confirming that -Werror=shadow does not make the compile to break.

Tested:
- On gcc 4.7 and 4.8, confirmed nothing changed (other than the order of
  the -Werror=shadow argument, going to the end of CFLAGS.)
- On gcc 4.6, confirmed by looking at the config.log output that the
  check for -Werror=shadow failed and it was not included in CFLAGS.
- Ran `make V=1` to confirm -Werror=shadow was still in use, introduced
  a bogus shadowing issue and confirmed it was caught when building with
  a recent gcc.
configure.ac
m4/attributes.m4