From 3b8458f38dd928b869ff8c9f73b26ce8578ad506 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Sat, 23 May 2015 19:28:57 +0200 Subject: [PATCH] build system: compile without maybe-uninitialized warnings for gcc See e.g. http://stackoverflow.com/questions/21755206/how-to-get-around-gcc-void-b-4-may-be-used-uninitialized-in-this-funct --- Rakefile | 2 +- ac/compiler_flags.m4 | 9 +++++++-- build-config.in | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index 8e7d5a0c7..d19626d16 100755 --- a/Rakefile +++ b/Rakefile @@ -117,7 +117,7 @@ def setup_globals cflags = "#{cflags_common} #{c(:USER_CFLAGS)}" cxxflags = "#{cflags_common} #{c(:STD_CXX)}" - cxxflags += " -Wnon-virtual-dtor -Woverloaded-virtual -Wextra -Wno-missing-field-initializers" + cxxflags += " -Wnon-virtual-dtor -Woverloaded-virtual -Wextra -Wno-missing-field-initializers #{c(:WNO_MAYBE_UNINITIALIZED)}" cxxflags += " #{c(:WXWIDGETS_CFLAGS)} #{c(:QT_CFLAGS)} #{c(:BOOST_CPPFLAGS)} #{c(:CURL_CFLAGS)} #{c(:USER_CXXFLAGS)}" ldflags = "" diff --git a/ac/compiler_flags.m4 b/ac/compiler_flags.m4 index 94d81f3eb..fd0bfa743 100644 --- a/ac/compiler_flags.m4 +++ b/ac/compiler_flags.m4 @@ -20,8 +20,12 @@ if test x"$ac_cv_compiler_is_clang" = xyes; then AC_LANG_POP() CXXFLAGS="$ac_save_CXXFLAGS" -elif check_version 4.8.0 $ac_cv_gcc_version ; then - WLOGICAL_OP="-Wlogical-op" +else + WNO_MAYBE_UNINITIALIZED="-Wno-maybe-uninitialized" + + if check_version 4.8.0 $ac_cv_gcc_version ; then + WLOGICAL_OP="-Wlogical-op" + fi fi AC_SUBST(QUNUSED_ARGUMENTS) @@ -30,3 +34,4 @@ AC_SUBST(WNO_MISMATCHED_TAGS) AC_SUBST(WLOGICAL_OP) AC_SUBST(WNO_INCONSISTENT_MISSING_OVERRIDE) AC_SUBST(WNO_POTENTIALLY_EVALUATED_EXPRESSION) +AC_SUBST(WNO_MAYBE_UNINITIALIZED) diff --git a/build-config.in b/build-config.in index ffc29d2a1..20af646a1 100644 --- a/build-config.in +++ b/build-config.in @@ -118,6 +118,7 @@ VORBIS_LIBS = @VORBIS_LIBS@ WLOGICAL_OP = @WLOGICAL_OP@ WNO_INCONSISTENT_MISSING_OVERRIDE = @WNO_INCONSISTENT_MISSING_OVERRIDE@ WNO_MISMATCHED_TAGS = @WNO_MISMATCHED_TAGS@ +WNO_MAYBE_UNINITIALIZED = @WNO_MAYBE_UNINITIALIZED@ WNO_POTENTIALLY_EVALUATED_EXPRESSION = @WNO_POTENTIALLY_EVALUATED_EXPRESSION@ WNO_SELF_ASSIGN = @WNO_SELF_ASSIGN@ WXWIDGETS_CFLAGS = @WXWIDGETS_CFLAGS@