Only use gcc -Wunused-but-set-variable when available
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 11 Jan 2013 00:09:31 +0000 (16:09 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 11 Jan 2013 00:09:39 +0000 (16:09 -0800)
Certain versions of gcc generate an 'unrecognized command
line option' error message when -Wunused-but-set-variable
is used unconditionally.  This in turn can cause several
of the autoconf tests to misdetect an interface.

Now, the use of -Wunused-but-set-variable in the autoconf
tests was introduced by commit b9c59ec8 to address a gcc
4.6 compatibility problem.  So we really only need to pass
this option for version of gcc which are known to support it.

Therefore, the tests have been updated to use the result of
the existing ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE
which determines if gcc supports this option.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1004

20 files changed:
config/kernel-bdev-block-device-operations.m4
config/kernel-bdev-logical-size.m4
config/kernel-bdev-physical-size.m4
config/kernel-blk-end-request.m4
config/kernel-blk-fetch-request.m4
config/kernel-blk-queue-discard.m4
config/kernel-blk-queue-flush.m4
config/kernel-blk-queue-io-opt.m4
config/kernel-blk-queue-max-hw-sectors.m4
config/kernel-blk-queue-max-segments.m4
config/kernel-blk-queue-nonrot.m4
config/kernel-blk-queue-physical-block-size.m4
config/kernel-blk-requeue-request.m4
config/kernel-blk-rq-bytes.m4
config/kernel-blk-rq-pos.m4
config/kernel-blk-rq-sectors.m4
config/kernel-elevator-change.m4
config/kernel-get-disk-ro.m4
config/kernel-rq-for-each_segment.m4
config/kernel-rq-is_sync.m4

index 2805237..28c3032 100644 (file)
@@ -4,7 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BDEV_BLOCK_DEVICE_OPERATIONS], [
        AC_MSG_CHECKING([block device operation prototypes])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index d066c86..a619457 100644 (file)
@@ -8,7 +8,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE], [
        AC_MSG_CHECKING([whether bdev_logical_block_size() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 0a1fe8e..77746ee 100644 (file)
@@ -22,7 +22,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BDEV_PHYSICAL_BLOCK_SIZE], [
        AC_MSG_CHECKING([whether bdev_physical_block_size() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 0228fb0..ca0a042 100644 (file)
@@ -6,7 +6,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_END_REQUEST], [
        AC_MSG_CHECKING([whether blk_end_request() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index c277f52..c4e1146 100644 (file)
@@ -8,7 +8,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_FETCH_REQUEST], [
        AC_MSG_CHECKING([whether blk_fetch_request() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 3e5147a..8306c88 100644 (file)
@@ -5,7 +5,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_DISCARD], [
        AC_MSG_CHECKING([whether blk_queue_discard() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 06561ed..2611747 100644 (file)
@@ -12,7 +12,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_FLUSH], [
        AC_MSG_CHECKING([whether blk_queue_flush() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 4ea94e1..fb9b684 100644 (file)
@@ -6,7 +6,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_IO_OPT], [
        AC_MSG_CHECKING([whether blk_queue_io_opt() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 7bdf7e0..2f5515d 100644 (file)
@@ -5,7 +5,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_MAX_HW_SECTORS], [
        AC_MSG_CHECKING([whether blk_queue_max_hw_sectors() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 09be121..b2a4042 100644 (file)
@@ -6,7 +6,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_MAX_SEGMENTS], [
        AC_MSG_CHECKING([whether blk_queue_max_segments() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 45d78f7..aa6d678 100644 (file)
@@ -8,7 +8,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_NONROT], [
        AC_MSG_CHECKING([whether blk_queue_nonrot() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index c51c817..a585b28 100644 (file)
@@ -7,7 +7,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_QUEUE_PHYSICAL_BLOCK_SIZE], [
        AC_MSG_CHECKING([whether blk_queue_physical_block_size() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index d8e7439..286c4b9 100644 (file)
@@ -7,7 +7,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_REQUEUE_REQUEST], [
        AC_MSG_CHECKING([whether blk_requeue_request() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 6430dfe..a95f8a8 100644 (file)
@@ -7,7 +7,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_BYTES], [
        AC_MSG_CHECKING([whether blk_rq_bytes() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index fd8a926..efa595f 100644 (file)
@@ -4,7 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_POS], [
        AC_MSG_CHECKING([whether blk_rq_pos() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index fbcd113..dea5bb5 100644 (file)
@@ -4,7 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_SECTORS], [
        AC_MSG_CHECKING([whether blk_rq_sectors() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 90ab51b..ace5aa8 100644 (file)
@@ -5,7 +5,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_ELEVATOR_CHANGE], [
        AC_MSG_CHECKING([whether elevator_change() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
                #include <linux/elevator.h>
index aac69b7..13ed812 100644 (file)
@@ -4,7 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_GET_DISK_RO], [
        AC_MSG_CHECKING([whether get_disk_ro() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 1821478..449168d 100644 (file)
@@ -4,7 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_RQ_FOR_EACH_SEGMENT], [
        AC_MSG_CHECKING([whether rq_for_each_segment() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[
index 507bf68..f6f51c8 100644 (file)
@@ -4,7 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_RQ_IS_SYNC], [
        AC_MSG_CHECKING([whether rq_is_sync() is available])
        tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
+       EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/blkdev.h>
        ],[