summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Makefile.in4
-rw-r--r--Makefile.tpl4
-rw-r--r--gcc/ChangeLog5
-rwxr-xr-xgcc/configure22
-rw-r--r--gcc/configure.ac8
6 files changed, 42 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index f5563b2d3aa..e9259598d20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-30 Jason Merrill <jason@redhat.com>
+
+ * Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass
+ --disable-build-format-warnings.
+
2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
* Makefile.def: Add libcilkrts to target_modules. Make libcilkrts
diff --git a/Makefile.in b/Makefile.in
index 572b3d0941e..e0ba7848434 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -498,8 +498,10 @@ STAGE1_LANGUAGES = @stage1_languages@
# the last argument when conflicting --enable arguments are passed.
# * Likewise, we force-disable coverage flags, since the installed
# compiler probably has never heard of them.
+# * We also disable -Wformat, since older GCCs don't understand newer %s.
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
- --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
+ --disable-build-format-warnings
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
diff --git a/Makefile.tpl b/Makefile.tpl
index 3e187e1b9dc..65d070b946e 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -451,8 +451,10 @@ STAGE1_LANGUAGES = @stage1_languages@
# the last argument when conflicting --enable arguments are passed.
# * Likewise, we force-disable coverage flags, since the installed
# compiler probably has never heard of them.
+# * We also disable -Wformat, since older GCCs don't understand newer %s.
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
- --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
+ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
+ --disable-build-format-warnings
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9965d509b10..9907608a150 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-30 Jason Merrill <jason@redhat.com>
+
+ * configure.ac (loose_warn): Add -Wno-format if
+ --disable-build-format-warnings.
+
2013-10-30 David Malcolm <dmalcolm@redhat.com>
* cgraphunit.c (analyze_functions): Split symtab_node
diff --git a/gcc/configure b/gcc/configure
index 1e7bcb6c49a..ea9190683c5 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -875,6 +875,7 @@ with_demangler_in_ld
with_gnu_as
with_as
enable_largefile
+enable_build_format_warnings
enable_werror_always
enable_checking
enable_coverage
@@ -1569,6 +1570,8 @@ Optional Features:
for creating source tarballs for users without
texinfo bison or flex
--disable-largefile omit support for large files
+ --disable-build-format-warnings
+ don't use -Wformat while building GCC
--enable-werror-always enable -Werror despite compiler version
--enable-checking[=LIST]
enable expensive run-time checks. With LIST, enable
@@ -6270,9 +6273,22 @@ fi
# * C++11 narrowing conversions in { }
# So, we only use -pedantic if we can disable those warnings.
+# In stage 1, disable -Wformat warnings from old GCCs about new % codes
+# Check whether --enable-build-format-warnings was given.
+if test "${enable_build_format_warnings+set}" = set; then :
+ enableval=$enable_build_format_warnings;
+else
+ enable_build_format_warnings=yes
+fi
+
+if test $enable_build_format_warnings = no; then :
+ wf_opt=-Wno-format
+else
+ wf_opt=
+fi
loose_warn=
save_CFLAGS="$CFLAGS"
-for real_option in -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual; do
+for real_option in -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual $wf_opt; do
# Do the check with the no- prefix removed since gcc silently
# accepts any -Wno-* option on purpose
case $real_option in
@@ -17897,7 +17913,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17900 "configure"
+#line 17916 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -18003,7 +18019,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18006 "configure"
+#line 18022 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5e686dbf48f..3d3b26b28a0 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -326,8 +326,14 @@ GCC_STDINT_TYPES
# * C++11 narrowing conversions in { }
# So, we only use -pedantic if we can disable those warnings.
+# In stage 1, disable -Wformat warnings from old GCCs about new % codes
+AC_ARG_ENABLE(build-format-warnings,
+ AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
+ [],[enable_build_format_warnings=yes])
+AS_IF([test $enable_build_format_warnings = no],
+ [wf_opt=-Wno-format],[wf_opt=])
ACX_PROG_CC_WARNING_OPTS(
- m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual])), [loose_warn])
+ m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual $wf_opt])), [loose_warn])
ACX_PROG_CC_WARNING_OPTS(
m4_quote(m4_do([-Wstrict-prototypes -Wmissing-prototypes])),
[c_loose_warn])