aboutsummaryrefslogtreecommitdiffstats
path: root/config/always-no-bool-compare.m4
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2015-07-13 12:30:02 -0700
committerBrian Behlendorf <[email protected]>2015-07-13 12:55:26 -0700
commitc2d17fd891add689786c569d7b5ea66d60d69b9b (patch)
tree3f59174db0639acfb5c82066a56676d9fa17de34 /config/always-no-bool-compare.m4
parent5970eb3d60346d385d0910c00ed5199b9af223c8 (diff)
Disable gcc bool-compare warning
As of gcc version 5.1.1 a new boolean comparison warning has been introduced. This warning is harmless but is triggered several places in the ZFS code base. Because warnings are promoted to errors when building with debugging enabled it is necessary to disable the warning when using versions of gcc which automatically enabling this check. Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'config/always-no-bool-compare.m4')
-rw-r--r--config/always-no-bool-compare.m427
1 files changed, 27 insertions, 0 deletions
diff --git a/config/always-no-bool-compare.m4 b/config/always-no-bool-compare.m4
new file mode 100644
index 000000000..316b04b50
--- /dev/null
+++ b/config/always-no-bool-compare.m4
@@ -0,0 +1,27 @@
+dnl #
+dnl # Check if gcc supports -Wno-bool-compare option.
+dnl #
+dnl # We actually invoke gcc with the -Wbool-compare option
+dnl # and infer the 'no-' version does or doesn't exist based upon
+dnl # the results. This is required because when checking any of
+dnl # no- prefixed options gcc always returns success.
+dnl #
+AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_NO_BOOL_COMPARE], [
+ AC_MSG_CHECKING([for -Wno-bool-compare support])
+
+ saved_flags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wbool-compare"
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
+ [
+ NO_BOOL_COMPARE=-Wno-bool-compare
+ AC_MSG_RESULT([yes])
+ ],
+ [
+ NO_BOOL_COMPARE=
+ AC_MSG_RESULT([no])
+ ])
+
+ CFLAGS="$saved_flags"
+ AC_SUBST([NO_BOOL_COMPARE])
+])