diff mbox

nfs-utils: Test if extra compiler warnings are available

Message ID 1520444246.7682.9.camel@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Justin Mitchell March 7, 2018, 5:37 p.m. UTC
Some of the latest compiler warnings flags are not available
on older compilers so this adds macros to test they are supported

Signed-off-by: Justin Mitchell <jumitche@redhat.com>
---
 configure.ac | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

Comments

Steve Dickson March 10, 2018, 4:34 p.m. UTC | #1
On 03/07/2018 12:37 PM, Justin Mitchell wrote:
> Some of the latest compiler warnings flags are not available
> on older compilers so this adds macros to test they are supported
> 
> Signed-off-by: Justin Mitchell <jumitche@redhat.com>
Committed... after a few changes... 

steved.
> ---
>  configure.ac | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index f4eba1f..e0c9039 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -550,7 +550,6 @@ my_am_cflags="\
>   -Werror=strict-prototypes \
>   -Werror=missing-prototypes \
>   -Werror=missing-declarations \
> - -Werror=format-overflow=2 \
>   -Werror=format=2 \
>   -Werror=undef \
>   -Werror=missing-include-dirs \
> @@ -560,15 +559,29 @@ my_am_cflags="\
>   -Werror=return-type \
>   -Werror=switch \
>   -Werror=overflow \
> - -Werror=int-conversion \
>   -Werror=parentheses \
> - -Werror=incompatible-pointer-types \
> - -Werror=misleading-indentation \
>   -Werror=aggregate-return \
>   -Werror=unused-result \
>   -fno-strict-aliasing \
>  "
>  
> +AC_DEFUN([CHECK_CCSUPPORT], [
> +  my_save_cflags="$CFLAGS"
> +  CFLAGS=$1
> +  AC_MSG_CHECKING([whether CC supports $1])
> +  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
> +    [AC_MSG_RESULT([yes])]
> +    [$2+=$1],
> +    [AC_MSG_RESULT([no])]
> +  )
> +  CFLAGS="$my_save_cflags"
> +])
> +
> +CHECK_CCSUPPORT([-Werror=format-overflow=2], [my_am_cflags])
> +CHECK_CCSUPPORT([-Werror=int-conversion], [my_am_cflags])
> +CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [my_am_cflags])
> +CHECK_CCSUPPORT([-Werror=misleading-indentation], [my_am_cflags])
> +
>  AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
>  
>  # Make sure that $ACLOCAL_FLAGS are used during a rebuild
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/configure.ac b/configure.ac
index f4eba1f..e0c9039 100644
--- a/configure.ac
+++ b/configure.ac
@@ -550,7 +550,6 @@  my_am_cflags="\
  -Werror=strict-prototypes \
  -Werror=missing-prototypes \
  -Werror=missing-declarations \
- -Werror=format-overflow=2 \
  -Werror=format=2 \
  -Werror=undef \
  -Werror=missing-include-dirs \
@@ -560,15 +559,29 @@  my_am_cflags="\
  -Werror=return-type \
  -Werror=switch \
  -Werror=overflow \
- -Werror=int-conversion \
  -Werror=parentheses \
- -Werror=incompatible-pointer-types \
- -Werror=misleading-indentation \
  -Werror=aggregate-return \
  -Werror=unused-result \
  -fno-strict-aliasing \
 "
 
+AC_DEFUN([CHECK_CCSUPPORT], [
+  my_save_cflags="$CFLAGS"
+  CFLAGS=$1
+  AC_MSG_CHECKING([whether CC supports $1])
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+    [AC_MSG_RESULT([yes])]
+    [$2+=$1],
+    [AC_MSG_RESULT([no])]
+  )
+  CFLAGS="$my_save_cflags"
+])
+
+CHECK_CCSUPPORT([-Werror=format-overflow=2], [my_am_cflags])
+CHECK_CCSUPPORT([-Werror=int-conversion], [my_am_cflags])
+CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [my_am_cflags])
+CHECK_CCSUPPORT([-Werror=misleading-indentation], [my_am_cflags])
+
 AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
 
 # Make sure that $ACLOCAL_FLAGS are used during a rebuild