summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2015-02-24 17:49:48 +0100
committerDavid Herrmann <dh.herrmann@gmail.com>2015-02-24 17:49:48 +0100
commit43bbf1acc8202de895e5449828a7b863c69fcc2f (patch)
tree2956c196c1c970491c58fed4afe74c29d571cf69
parent72c3897f77a7352618ea76b880a6764f52d6327b (diff)
downloadsystemd-43bbf1acc8202de895e5449828a7b863c69fcc2f.tar.gz
build: make sure to test for -Wflag instead of -Wno-flag
gcc does not support testing for negated warnings. See here for details: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63499 This patch changes CC_CHECK_FLAG_APPEND to always test for the non-negated warnings.
-rw-r--r--m4/attributes.m45
1 files changed, 3 insertions, 2 deletions
diff --git a/m4/attributes.m4 b/m4/attributes.m4
index ac3c6624cd..97f094b07a 100644
--- a/m4/attributes.m4
+++ b/m4/attributes.m4
@@ -34,14 +34,15 @@ dnl this special exception to the GPL to apply to your modified version as
dnl well.
dnl Check if FLAG in ENV-VAR is supported by compiler and append it
-dnl to WHERE-TO-APPEND variable
+dnl to WHERE-TO-APPEND variable. Note that we invert -Wno-* checks to
+dnl -W* as gcc cannot test for negated warnings.
dnl CC_CHECK_FLAG_APPEND([WHERE-TO-APPEND], [ENV-VAR], [FLAG])
AC_DEFUN([CC_CHECK_FLAG_APPEND], [
AC_CACHE_CHECK([if $CC supports flag $3 in envvar $2],
AS_TR_SH([cc_cv_$2_$3]),
[eval "AS_TR_SH([cc_save_$2])='${$2}'"
- eval "AS_TR_SH([$2])='-Werror $3'"
+ eval "AS_TR_SH([$2])='-Werror `echo "$3" | sed 's/^-Wno-/-W/'`'"
AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; } ])],
[eval "AS_TR_SH([cc_cv_$2_$3])='yes'"],
[eval "AS_TR_SH([cc_cv_$2_$3])='no'"])