aboutsummaryrefslogtreecommitdiff
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
glibc-8e2f7c68111ba8fae795ee08b6822e21ab8cfa38.tar.gz
glibc-8e2f7c68111ba8fae795ee08b6822e21ab8cfa38.tar.bz2
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