diff options
author | Ryan Moeller <[email protected]> | 2020-08-17 18:40:17 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2020-08-17 15:40:17 -0700 |
commit | 3df0c2fa32a37fbb95f32de20e737fdf65ec0f5b (patch) | |
tree | d1b395052599a4df0c5f2674d03136081d12d6b4 | |
parent | cfdc432e644912bbd7e026110ee57cc0f22ec321 (diff) |
FreeBSD: fix the build with Clang 11
* Cast void * to uintptr_t before casting to boolean_t.
* Avoid clashing definition of __asm when not on Linux to
prevent duplicate __volatile__. This was already done in
some places but not all.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Matt Macy <[email protected]>
Signed-off-by: Ryan Moeller <[email protected]>
Closes #10723
-rw-r--r-- | module/zfs/dsl_dataset.c | 4 | ||||
-rw-r--r-- | module/zfs/vdev_raidz_math_aarch64_neon_common.h | 2 | ||||
-rw-r--r-- | module/zfs/vdev_raidz_math_avx2.c | 2 | ||||
-rw-r--r-- | module/zfs/vdev_raidz_math_avx512f.c | 2 | ||||
-rw-r--r-- | module/zfs/vdev_raidz_math_powerpc_altivec_common.h | 2 | ||||
-rw-r--r-- | module/zfs/vdev_raidz_math_sse2.c | 2 |
6 files changed, 12 insertions, 2 deletions
diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c index aac8bf76e..c5143ac5a 100644 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@ -1020,7 +1020,7 @@ zfeature_active(spa_feature_t f, void *arg) { switch (spa_feature_table[f].fi_type) { case ZFEATURE_TYPE_BOOLEAN: { - boolean_t val = (boolean_t)arg; + boolean_t val = (boolean_t)(uintptr_t)arg; ASSERT(val == B_FALSE || val == B_TRUE); return (val); } @@ -1076,7 +1076,7 @@ dsl_dataset_activate_feature(uint64_t dsobj, spa_feature_t f, void *arg, switch (spa_feature_table[f].fi_type) { case ZFEATURE_TYPE_BOOLEAN: - ASSERT3S((boolean_t)arg, ==, B_TRUE); + ASSERT3S((boolean_t)(uintptr_t)arg, ==, B_TRUE); VERIFY0(zap_add(mos, dsobj, spa_feature_table[f].fi_guid, sizeof (zero), 1, &zero, tx)); break; diff --git a/module/zfs/vdev_raidz_math_aarch64_neon_common.h b/module/zfs/vdev_raidz_math_aarch64_neon_common.h index 92a50b3a0..e46b25365 100644 --- a/module/zfs/vdev_raidz_math_aarch64_neon_common.h +++ b/module/zfs/vdev_raidz_math_aarch64_neon_common.h @@ -25,7 +25,9 @@ #include <sys/types.h> #include <sys/simd.h> +#ifdef __linux__ #define __asm __asm__ __volatile__ +#endif #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1) diff --git a/module/zfs/vdev_raidz_math_avx2.c b/module/zfs/vdev_raidz_math_avx2.c index 008e848d4..65e4bebce 100644 --- a/module/zfs/vdev_raidz_math_avx2.c +++ b/module/zfs/vdev_raidz_math_avx2.c @@ -28,7 +28,9 @@ #include <sys/types.h> #include <sys/simd.h> +#ifdef __linux__ #define __asm __asm__ __volatile__ +#endif #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1) diff --git a/module/zfs/vdev_raidz_math_avx512f.c b/module/zfs/vdev_raidz_math_avx512f.c index b89e18c0c..aab653b77 100644 --- a/module/zfs/vdev_raidz_math_avx512f.c +++ b/module/zfs/vdev_raidz_math_avx512f.c @@ -31,7 +31,9 @@ #include <sys/simd.h> #include <sys/debug.h> +#ifdef __linux__ #define __asm __asm__ __volatile__ +#endif #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1) diff --git a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h index 1e5748952..3842f5fd6 100644 --- a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h +++ b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h @@ -26,7 +26,9 @@ #include <sys/types.h> #include <sys/simd.h> +#ifdef __linux__ #define __asm __asm__ __volatile__ +#endif #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1) diff --git a/module/zfs/vdev_raidz_math_sse2.c b/module/zfs/vdev_raidz_math_sse2.c index 12d7bda01..56a0b123d 100644 --- a/module/zfs/vdev_raidz_math_sse2.c +++ b/module/zfs/vdev_raidz_math_sse2.c @@ -30,7 +30,9 @@ #include <sys/simd.h> #include <sys/debug.h> +#ifdef __linux__ #define __asm __asm__ __volatile__ +#endif #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1) |