about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-21 15:14:13 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-21 15:14:13 +0000
commit8e2f7c68111ba8fae795ee08b6822e21ab8cfa38 (patch)
treeb05f1b50eba10b59ad91da500dcfecc1d9d88334
parent85231522bb178ebe0957529de20b7f3dda81168c (diff)
downloadglibc-8e2f7c68111ba8fae795ee08b6822e21ab8cfa38.tar.gz
glibc-8e2f7c68111ba8fae795ee08b6822e21ab8cfa38.tar.xz
glibc-8e2f7c68111ba8fae795ee08b6822e21ab8cfa38.zip
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.
-rw-r--r--ChangeLog4
-rw-r--r--Makeconfig2
-rw-r--r--Makefile2
3 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d08674e478..b05d6d0e9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/Makeconfig b/Makeconfig
index 1dc522c7ed..f3668c616a 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -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.
diff --git a/Makefile b/Makefile
index a2abfb9273..b2dd771a19 100644
--- a/Makefile
+++ b/Makefile
@@ -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