diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Makefile.in | 4 | ||||
-rw-r--r-- | Makefile.tpl | 4 | ||||
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rwxr-xr-x | gcc/configure | 22 | ||||
-rw-r--r-- | gcc/configure.ac | 8 |
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]) |