mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
We're actually -Wmissing-field-initializers clean thanks to the cmake
build so check and turn on -Wmissing-field-initializers. While there, reorganize the conditional warning code based on compiler to be a bit more obvious and inside a switch statement. llvm-svn: 244330
This commit is contained in:
parent
cd0f8af304
commit
65dbfa2fff
@ -396,8 +396,8 @@ endif
|
||||
BINUTILS_INCDIR := @BINUTILS_INCDIR@
|
||||
|
||||
# Optional flags supported by the compiler
|
||||
# -Wno-missing-field-initializers
|
||||
NO_MISSING_FIELD_INITIALIZERS = @NO_MISSING_FIELD_INITIALIZERS@
|
||||
# -Wmissing-field-initializers
|
||||
MISSING_FIELD_INITIALIZERS = @MISSING_FIELD_INITIALIZERS@
|
||||
# -Wno-variadic-macros
|
||||
NO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@
|
||||
# -Wcovered-switch-default
|
||||
|
@ -686,7 +686,7 @@ endif
|
||||
CompileCommonOpts += -Wall -W -Wno-unused-parameter -Wwrite-strings \
|
||||
$(EXTRA_OPTIONS) $(COVERED_SWITCH_DEFAULT) \
|
||||
$(NO_UNINITIALIZED) $(NO_MAYBE_UNINITIALIZED) \
|
||||
$(NO_MISSING_FIELD_INITIALIZERS) $(NO_COMMENT)
|
||||
$(MISSING_FIELD_INITIALIZERS) $(NO_COMMENT)
|
||||
# Enable cast-qual for C++; the workaround is to use const_cast.
|
||||
CXX.Flags += -Wcast-qual
|
||||
|
||||
|
@ -1548,25 +1548,31 @@ AC_MSG_RESULT([ok])
|
||||
|
||||
dnl Check optional compiler flags.
|
||||
AC_MSG_CHECKING([optional compiler flags])
|
||||
CXX_FLAG_CHECK(NO_VARIADIC_MACROS, [-Wno-variadic-macros])
|
||||
CXX_FLAG_CHECK(NO_MISSING_FIELD_INITIALIZERS, [-Wno-missing-field-initializers])
|
||||
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 still want to catch the first kind of errors.
|
||||
if test -z "$NO_MAYBE_UNINITIALIZED"
|
||||
then
|
||||
CXX_FLAG_CHECK(NO_UNINITIALIZED, [-Wno-uninitialized])
|
||||
fi
|
||||
fi
|
||||
case "$llvm_cv_cxx_compiler" in
|
||||
clang)
|
||||
CXX_FLAG_CHECK(NO_VARIADIC_MACROS, [-Wno-variadic-macros])
|
||||
CXX_FLAG_CHECK(MISSING_FIELD_INITIALIZERS, [-Wmissing-field-initializers])
|
||||
CXX_FLAG_CHECK(COVERED_SWITCH_DEFAULT, [-Wcovered-switch-default])
|
||||
;;
|
||||
gcc)
|
||||
dnl If we're using gcc check for -Wno-missing-field-initializers as gcc will warn
|
||||
dnl on plain open brace initializations. clang won't so use -Wmissing-field-initializers
|
||||
dnl there.
|
||||
CXX_FLAG_CHECK(MISSING_FIELD_INITIALIZERS, [-Wno-missing-field-initializers])
|
||||
CXX_FLAG_CHECK(NO_VARIADIC_MACROS, [-Wno-variadic-macros])
|
||||
CXX_FLAG_CHECK(COVERED_SWITCH_DEFAULT, [-Wcovered-switch-default])
|
||||
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 still want to catch the first kind of errors.
|
||||
if test -z "$NO_MAYBE_UNINITIALIZED"
|
||||
then
|
||||
CXX_FLAG_CHECK(NO_UNINITIALIZED, [-Wno-uninitialized])
|
||||
fi
|
||||
;;
|
||||
unknown)
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Check for misbehaving -Wcomment (gcc-4.7 has this) and maybe add
|
||||
dnl -Wno-comment to the flags.
|
||||
@ -1587,7 +1593,7 @@ int main() { return 0; }
|
||||
AC_SUBST(NO_COMMENT, [$no_comment])
|
||||
CXXFLAGS="$llvm_cv_old_cxxflags"
|
||||
|
||||
AC_MSG_RESULT([$NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT])
|
||||
AC_MSG_RESULT([$NO_VARIADIC_MACROS $MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT])
|
||||
|
||||
AC_ARG_WITH([python],
|
||||
[AS_HELP_STRING([--with-python], [path to python])],
|
||||
|
42
configure
vendored
42
configure
vendored
@ -777,7 +777,7 @@ GAS
|
||||
HAVE_LINK_VERSION_SCRIPT
|
||||
EGREP
|
||||
NO_VARIADIC_MACROS
|
||||
NO_MISSING_FIELD_INITIALIZERS
|
||||
MISSING_FIELD_INITIALIZERS
|
||||
COVERED_SWITCH_DEFAULT
|
||||
NO_MAYBE_UNINITIALIZED
|
||||
NO_UNINITIALIZED
|
||||
@ -8379,25 +8379,33 @@ echo "${ECHO_T}ok" >&6; }
|
||||
|
||||
{ echo "$as_me:$LINENO: checking optional compiler flags" >&5
|
||||
echo $ECHO_N "checking optional compiler flags... $ECHO_C" >&6; }
|
||||
NO_VARIADIC_MACROS=`$CXX -Werror -Wvariadic-macros -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-variadic-macros`
|
||||
case "$llvm_cv_cxx_compiler" in
|
||||
clang)
|
||||
NO_VARIADIC_MACROS=`$CXX -Werror -Wvariadic-macros -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-variadic-macros`
|
||||
|
||||
NO_MISSING_FIELD_INITIALIZERS=`$CXX -Werror -Wmissing-field-initializers -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-missing-field-initializers`
|
||||
MISSING_FIELD_INITIALIZERS=`$CXX -Werror -Wmissing-field-initializers -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wmissing-field-initializers`
|
||||
|
||||
COVERED_SWITCH_DEFAULT=`$CXX -Werror -Wcovered-switch-default -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wcovered-switch-default`
|
||||
COVERED_SWITCH_DEFAULT=`$CXX -Werror -Wcovered-switch-default -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wcovered-switch-default`
|
||||
|
||||
;;
|
||||
gcc)
|
||||
MISSING_FIELD_INITIALIZERS=`$CXX -Werror -Wmissing-field-initializers -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-missing-field-initializers`
|
||||
|
||||
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`
|
||||
NO_VARIADIC_MACROS=`$CXX -Werror -Wvariadic-macros -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-variadic-macros`
|
||||
|
||||
if test -z "$NO_MAYBE_UNINITIALIZED"
|
||||
then
|
||||
NO_UNINITIALIZED=`$CXX -Werror -Wuninitialized -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wno-uninitialized`
|
||||
COVERED_SWITCH_DEFAULT=`$CXX -Werror -Wcovered-switch-default -fsyntax-only -xc /dev/null 2>/dev/null && echo -Wcovered-switch-default`
|
||||
|
||||
fi
|
||||
fi
|
||||
NO_MAYBE_UNINITIALIZED=`$CXX -Werror -Wmaybe-uninitialized -fsyntax-only -xc /dev/null 2>/dev/null && echo -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`
|
||||
|
||||
fi
|
||||
;;
|
||||
unknown)
|
||||
;;
|
||||
esac
|
||||
|
||||
no_comment=
|
||||
llvm_cv_old_cxxflags="$CXXFLAGS"
|
||||
@ -8464,8 +8472,8 @@ NO_COMMENT=$no_comment
|
||||
|
||||
CXXFLAGS="$llvm_cv_old_cxxflags"
|
||||
|
||||
{ echo "$as_me:$LINENO: result: $NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT" >&5
|
||||
echo "${ECHO_T}$NO_VARIADIC_MACROS $NO_MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT" >&6; }
|
||||
{ echo "$as_me:$LINENO: result: $NO_VARIADIC_MACROS $MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT" >&5
|
||||
echo "${ECHO_T}$NO_VARIADIC_MACROS $MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT" >&6; }
|
||||
|
||||
|
||||
# Check whether --with-python was given.
|
||||
@ -18653,7 +18661,7 @@ GAS!$GAS$ac_delim
|
||||
HAVE_LINK_VERSION_SCRIPT!$HAVE_LINK_VERSION_SCRIPT$ac_delim
|
||||
EGREP!$EGREP$ac_delim
|
||||
NO_VARIADIC_MACROS!$NO_VARIADIC_MACROS$ac_delim
|
||||
NO_MISSING_FIELD_INITIALIZERS!$NO_MISSING_FIELD_INITIALIZERS$ac_delim
|
||||
MISSING_FIELD_INITIALIZERS!$MISSING_FIELD_INITIALIZERS$ac_delim
|
||||
COVERED_SWITCH_DEFAULT!$COVERED_SWITCH_DEFAULT$ac_delim
|
||||
NO_MAYBE_UNINITIALIZED!$NO_MAYBE_UNINITIALIZED$ac_delim
|
||||
NO_UNINITIALIZED!$NO_UNINITIALIZED$ac_delim
|
||||
|
Loading…
Reference in New Issue
Block a user