From f9953b79c493c19f54ffe827275ddf21f00a7b58 Mon Sep 17 00:00:00 2001 From: Aaron Orenstein Date: Tue, 21 Nov 2017 14:02:18 -0800 Subject: [PATCH] Add -Werror to -Wshadow-local and -Wshadow-compatible-local warning check Summary: Without -Werror Apple LLVM will print a warning about -Wshadow-local and -Wshadow-compatible-local but won't fail. This causes problems for downstream code which uses -Werror. Reviewed By: meyering Differential Revision: D6375771 fbshipit-source-id: 4ac3a4ff46bdb76f1f07b0c8ba479a7d404c8c9b --- folly/configure.ac | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/folly/configure.ac b/folly/configure.ac index 0e6aa379..3ad08934 100644 --- a/folly/configure.ac +++ b/folly/configure.ac @@ -56,12 +56,35 @@ CXXFLAGS="$STD $CXXFLAGS" # expose required -std option via pkg-config PKG_CXXFLAGS=$STD +# See if -Wunknown-warning-option is supported +AC_MSG_CHECKING( + [whether -Wunknown-warning-option is supported]) +AC_CACHE_VAL([folly_cv_cxx_unknown_warning_option_support], [ + folly_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror=unknown-warning-option" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [ + # The compiler didn't completely error out on -Werror=unknown-warning-option + CXXFLAGS="$CXXFLAGS -Werror=unknown-warning-option -Wthis-is-an-unknown-option-that-should-error" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [folly_cv_cxx_unknown_warning_option_support=no], + [folly_cv_cxx_unknown_warning_option_support=yes]) + ], + [folly_cv_cxx_unknown_warning_option_support=no]) + CXXFLAGS="$folly_save_CXXFLAGS"]) +AC_MSG_RESULT([$folly_cv_cxx_unknown_warning_option_support]) + # See if -Wshadow-local and -Wshadow-compatible-local are supported AC_MSG_CHECKING( [whether -Wshadow-local and -Wshadow-compatible-local are supported]) AC_CACHE_VAL([folly_cv_cxx_shadow_local_support], [ folly_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wshadow-local -Wshadow-compatible-local" + if test "$folly_cv_cxx_unknown_warning_option_support" = yes; then + CXXFLAGS="$CXXFLAGS -Werror=unknown-warning-option" + fi AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [folly_cv_cxx_shadow_local_support=yes], -- 2.34.1