BuildSystem: Really do not pass unknown-warning options to the compiler.
authorAlexander Traud <pabstraud@compuserve.com>
Sat, 6 Jan 2018 21:40:46 +0000 (22:40 +0100)
committerAlexander Traud <pabstraud@compuserve.com>
Sat, 6 Jan 2018 21:40:46 +0000 (22:40 +0100)
When an older GCC version is called with a too new warning option, GCC exited
with an error and Asterisk was not built. Therefore, the configure script tests
the installed compiler whether it supports that warning option. If not, Asterisk
does not pass it to the installed compiler. However, some compilers (like clang)
do not exit (error) but give just a warning in such a case. Because the compiler
did not exit, Asterisk passed the unknown-warning option.

ASTERISK-27560

Change-Id: Ia9b7747f649b27ff5e9f75c3db3fee4fe7a29621

configure
configure.ac

index c672df9..8661f31 100755 (executable)
--- a/configure
+++ b/configure
@@ -18690,7 +18690,7 @@ LDFLAGS="${saved_sanitize_LDFLAGS}"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wdeclaration-after-statement support" >&5
 $as_echo_n "checking for -Wdeclaration-after-statement support... " >&6; }
-if $(${CC} -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -Wdeclaration-after-statement -Werror -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
        AST_DECLARATION_AFTER_STATEMENT=-Wdeclaration-after-statement
@@ -18742,7 +18742,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wno-format-truncation" >&5
 $as_echo_n "checking for -Wno-format-truncation... " >&6; }
-if $(${CC} -O2 -Wno-format-truncation -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -Wno-format-truncation -Werror -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
        AST_NO_FORMAT_TRUNCATION=-Wno-format-truncation
@@ -18755,7 +18755,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wshadow" >&5
 $as_echo_n "checking for -Wshadow... " >&6; }
-if $(${CC} -Wshadow -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -Wshadow -Werror -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
        AST_SHADOW_WARNINGS=-Wshadow
index 0a4fb47..f0a978e 100644 (file)
@@ -1224,7 +1224,7 @@ LDFLAGS="${saved_sanitize_LDFLAGS}"
 AC_SUBST(AST_UNDEFINED_SANITIZER)
 
 AC_MSG_CHECKING(for -Wdeclaration-after-statement support)
-if $(${CC} -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -Wdeclaration-after-statement -Werror -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
        AC_MSG_RESULT(yes)
        AST_DECLARATION_AFTER_STATEMENT=-Wdeclaration-after-statement
 else
@@ -1264,7 +1264,7 @@ fi
 AC_SUBST(AST_NO_STRICT_OVERFLOW)
 
 AC_MSG_CHECKING(for -Wno-format-truncation)
-if $(${CC} -O2 -Wno-format-truncation -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -Wno-format-truncation -Werror -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
        AC_MSG_RESULT(yes)
        AST_NO_FORMAT_TRUNCATION=-Wno-format-truncation
 else
@@ -1274,7 +1274,7 @@ fi
 AC_SUBST(AST_NO_FORMAT_TRUNCATION)
 
 AC_MSG_CHECKING(for -Wshadow)
-if $(${CC} -Wshadow -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -Wshadow -Werror -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
        AC_MSG_RESULT(yes)
        AST_SHADOW_WARNINGS=-Wshadow
 else