diff --git a/autoconf/configure.ac b/autoconf/configure.ac index ae615df2029..b8f17662285 100644 --- a/autoconf/configure.ac +++ b/autoconf/configure.ac @@ -1272,39 +1272,21 @@ CXX_FLAG_CHECK(NO_VARIADIC_MACROS, [-Wno-variadic-macros]) CXX_FLAG_CHECK(NO_MISSING_FIELD_INITIALIZERS, [-Wno-missing-field-initializers]) CXX_FLAG_CHECK(NO_NESTED_ANON_TYPES, [-Wno-nested-anon-types]) CXX_FLAG_CHECK(COVERED_SWITCH_DEFAULT, [-Wcovered-switch-default]) + dnl GCC's potential uninitialized use analysis is weak and presents lots of dnl false positives, so disable it. +NO_UNINITIALIZED= +NO_MAYBE_UNINITIALIZED= if test "$GXX" = "yes" then CXX_FLAG_CHECK(NO_MAYBE_UNINITIALIZED, [-Wno-maybe-uninitialized]) dnl gcc 4.7 introduced -Wmaybe-uninitialized to distinguish cases which are - dnl known to be uninitialized from cases which might be uninitialized. We + dnl known to be uninitialized from cases which might be uninitialized. We dnl still want to catch the first kind of errors. - if test "$NO_MAYBE_UNINITIALIZED" != "-Wno-maybe-uninitialized" + if test -z "$NO_MAYBE_UNINITIALIZED" then CXX_FLAG_CHECK(NO_UNINITIALIZED, [-Wno-uninitialized]) - else - dnl Some versions of gcc accept unsupported -W flags if there is - dnl no warning but stop with an error when a warning is - dnl encountered. If this gcc is earlier than 4.7, just use - dnl -Wno-uninitialized. - gxx_version=`$CXX -dumpversion` - gxx_version_major=`echo $gxx_version | cut -d'.' -f1` - gxx_version_minor=`echo $gxx_version | cut -d'.' -f2` - gxx_version_patch=`echo $gxx_version | cut -d'.' -f3` - - if test "$gxx_version_major" -ge "4" \ - && test "$gxx_version_minor" -ge "7"; then - dnl AC_SUBST doesn't work with empty strings. - NO_UNINITIALIZED= - else - NO_MAYBE_UNINITIALIZED= - CXX_FLAG_CHECK(NO_UNINITIALIZED, [-Wno-uninitialized]) - fi fi -else - NO_UNINITIALIZED= - NO_MAYBE_UNINITIALIZED= fi AC_MSG_RESULT([$NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS $NO_NESTED_ANON_TYPES $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED]) diff --git a/configure b/configure index 325606ab3c7..bb612d5b5b6 100755 --- a/configure +++ b/configure @@ -8719,7 +8719,9 @@ if test "${enable_ltdl_install+set}" = set; then fi - if test x"${enable_ltdl_install-no}" != xno; then + + +if test x"${enable_ltdl_install-no}" != xno; then INSTALL_LTDL_TRUE= INSTALL_LTDL_FALSE='#' else @@ -8727,7 +8729,9 @@ else INSTALL_LTDL_FALSE= fi - if test x"${enable_ltdl_convenience-no}" != xno; then + + +if test x"${enable_ltdl_convenience-no}" != xno; then CONVENIENCE_LTDL_TRUE= CONVENIENCE_LTDL_FALSE='#' else @@ -10494,7 +10498,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext </dev/null && echo -Wcovered-switch-default` + +NO_UNINITIALIZED= +NO_MAYBE_UNINITIALIZED= if test "$GXX" = "yes" then NO_MAYBE_UNINITIALIZED=`$CXX -Werror -Wmaybe-uninitialized -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-maybe-uninitialized` - if test "$NO_MAYBE_UNINITIALIZED" != "-Wno-maybe-uninitialized" + if test -z "$NO_MAYBE_UNINITIALIZED" then NO_UNINITIALIZED=`$CXX -Werror -Wuninitialized -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-uninitialized` - else - gxx_version=`$CXX -dumpversion` - gxx_version_major=`echo $gxx_version | cut -d'.' -f1` - gxx_version_minor=`echo $gxx_version | cut -d'.' -f2` - gxx_version_patch=`echo $gxx_version | cut -d'.' -f3` - - if test "$gxx_version_major" -ge "4" \ - && test "$gxx_version_minor" -ge "7"; then - NO_UNINITIALIZED= - else - NO_MAYBE_UNINITIALIZED= - NO_UNINITIALIZED=`$CXX -Werror -Wuninitialized -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-uninitialized` - - fi fi -else - NO_UNINITIALIZED= - NO_MAYBE_UNINITIALIZED= fi { echo "$as_me:$LINENO: result: $NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS $NO_NESTED_ANON_TYPES $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED" >&5 echo "${ECHO_T}$NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS $NO_NESTED_ANON_TYPES $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED" >&6; }