diff --git a/configure b/configure index d8c5f9f90..f0223e99d 100755 --- a/configure +++ b/configure @@ -6168,6 +6168,57 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +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 + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wunterminated-string-initialization" >&5 +printf %s "checking whether C compiler accepts -Wunterminated-string-initialization... " >&6; } +if test ${ax_cv_check_cflags__Werror___Wunterminated_string_initialization+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Werror -Wunterminated-string-initialization" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ax_cv_check_cflags__Werror___Wunterminated_string_initialization=yes +else $as_nop + ax_cv_check_cflags__Werror___Wunterminated_string_initialization=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror___Wunterminated_string_initialization" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror___Wunterminated_string_initialization" >&6; } +if test x"$ax_cv_check_cflags__Werror___Wunterminated_string_initialization" = xyes +then : + CFLAGS="$CFLAGS -Wno-unterminated-string-initialization" +else $as_nop + : +fi + + 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 + + if $CC --version | grep -q "clang version 3." then : CFLAGS="$CFLAGS -Wno-tautological-compare -Wno-pragmas" diff --git a/configure.ac b/configure.ac index 02cb2307d..25e4ed55a 100644 --- a/configure.ac +++ b/configure.ac @@ -260,6 +260,9 @@ check_cc_flag([-Wempty-body], [CFLAGS="$CFLAGS -Wno-empty-body"]) dnl This warns about all our hook calls - RunHook() and others check_cc_flag([-Wdeprecated-non-prototype], [CFLAGS="$CFLAGS -Wno-deprecated-non-prototype"]) +dnl This warns about const char hexchars[16] = "0123456789abcdef"; +check_cc_flag([-Wunterminated-string-initialization], [CFLAGS="$CFLAGS -Wno-unterminated-string-initialization"]) + dnl Yeah this old clang version is a bit problematic dnl (ships in Ubuntu 16.04 for example) dnl -Wtautological-compare has false positives