Use -Wold-style-definition.

This patch makes glibc build with -Wold-style-definition to avoid
old-style function definitions creeping back in by accident.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).  Also tested build for arm,
mips64 and powerpc32.  Hopefully there aren't any remaining
system-specific files with old-style definitions whose formatting
evaded my searches, but if there are, they will be easy to fix.

	* Makeconfig (+gccwarn-c): Add -Wold-style-definition.
	* Makefile ($(objpfx)c++-types-check.out): Filter out
	$(+gccwarn-c) instead of -Wstrict-prototypes.
This commit is contained in:
Joseph Myers 2015-10-21 15:14:13 +00:00
parent 85231522bb
commit 8e2f7c6811
3 changed files with 6 additions and 2 deletions

View File

@ -1,5 +1,9 @@
2015-10-21 Joseph Myers <joseph@codesourcery.com>
* Makeconfig (+gccwarn-c): Add -Wold-style-definition.
* Makefile ($(objpfx)c++-types-check.out): Filter out
$(+gccwarn-c) instead of -Wstrict-prototypes.
* io/fts.c (fts_open): Convert to prototype-style function
definition.
* malloc/mcheck.c (mcheck): Likewise.

View File

@ -752,7 +752,7 @@ endif
ifeq ($(enable-werror),yes)
+gccwarn += -Werror
endif
+gccwarn-c = -Wstrict-prototypes
+gccwarn-c = -Wstrict-prototypes -Wold-style-definition
# We do not depend on the address of constants in different files to be
# actually different, so allow the compiler to merge them all.

View File

@ -256,7 +256,7 @@ ifneq ($(CXX),no)
vpath c++-types.data $(+sysdep_dirs)
$(objpfx)c++-types-check.out: c++-types.data scripts/check-c++-types.sh
scripts/check-c++-types.sh $< $(CXX) $(filter-out -std=gnu99 -Wstrict-prototypes,$(CFLAGS)) $(CPPFLAGS) > $@; \
scripts/check-c++-types.sh $< $(CXX) $(filter-out -std=gnu99 $(+gccwarn-c),$(CFLAGS)) $(CPPFLAGS) > $@; \
$(evaluate-test)
endif