+
+
fi
fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the compiler flag \"-Wimplicit-fallthrough\"" >&5
+$as_echo_n "checking for the compiler flag \"-Wimplicit-fallthrough\"... " >&6; }
+if ${ax_cv_cc_wimplicit_fallthrough_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+
+ CFLAGS_SAVED=$CFLAGS
+ CFLAGS="$CFLAGS -Werror -Wimplicit-fallthrough"
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ax_cv_cc_wimplicit_fallthrough_flag="yes"
+else
+ ax_cv_cc_wimplicit_fallthrough_flag="no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ CFLAGS="$CFLAGS_SAVED"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cc_wimplicit_fallthrough_flag" >&5
+$as_echo "$ax_cv_cc_wimplicit_fallthrough_flag" >&6; }
+
+ if test "x$ax_cv_cc_wimplicit_fallthrough_flag" = "xyes"; then
+ devcflags="$devcflags -Wimplicit-fallthrough"
+ fi
+
if test "x$llvm_address_sanitizer" = "xyes" && test "x$ax_cv_cc_clang" = "xyes"; then
devcflags="$devcflags -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls"
fi
fi
+ dnl #
+ dnl # Older versions of GCC don't support this, but 7 seems to
+ dnl #
+ AX_CC_IMPLICIT_FALLTHROUGH_FLAG
+ if test "x$ax_cv_cc_wimplicit_fallthrough_flag" = "xyes"; then
+ devcflags="$devcflags -Wimplicit-fallthrough"
+ fi
+
dnl #
dnl # If running with clang, add in ASAN
dnl #
CFLAGS_SAVED=$CFLAGS
CFLAGS="-Werror -Wno-unknown-warning-option"
-
+
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([], [[
/*
*/
#if defined(__GNUC__) && !defined(__clang__)
gcc sucks
- #endif
-
+ #endif
+
return 0;
]])],
[ax_cv_cc_no_unknown_warning_option_flag=yes],
[ax_cv_cc_no_unknown_warning_option_flag=no])
- CFLAGS="$CFLAGS_SAVED"
+ CFLAGS="$CFLAGS_SAVED"
])
])
])
])
+AC_DEFUN([AX_CC_IMPLICIT_FALLTHROUGH_FLAG],[
+ AC_CACHE_CHECK([for the compiler flag "-Wimplicit-fallthrough"], [ax_cv_cc_wimplicit_fallthrough_flag],[
+
+ CFLAGS_SAVED=$CFLAGS
+ CFLAGS="$CFLAGS -Werror -Wimplicit-fallthrough"
+
+ AC_LANG_PUSH(C)
+ AC_TRY_COMPILE(
+ [],
+ [return 0;],
+ [ax_cv_cc_wimplicit_fallthrough_flag="yes"],
+ [ax_cv_cc_wimplicit_fallthrough_flag="no"])
+ AC_LANG_POP
+
+ CFLAGS="$CFLAGS_SAVED"
+ ])
+])
+
AC_DEFUN([AX_CC_NO_DATE_TIME_FLAG],[
AC_CACHE_CHECK([for the compiler flag "-Wno-date-time"], [ax_cv_cc_no_date_time_flag],[