aboutsummaryrefslogtreecommitdiffstats
path: root/module/os/linux/spl/spl-generic.c
diff options
context:
space:
mode:
authorszubersk <[email protected]>2022-11-30 20:27:28 +1000
committerBrian Behlendorf <[email protected]>2022-11-30 13:46:26 -0800
commitfe975048da29c4756bafd9f63a192db17e3acb7c (patch)
tree30c89360b88aeb882e0c5ee14dd5916f9c623747 /module/os/linux/spl/spl-generic.c
parent3c1e1933b681cb68e0494c09d902e0187673ecc3 (diff)
Fix Clang 15 compilation errors
- Clang 15 doesn't support `-fno-ipa-sra` anymore. Do a separate check for `-fno-ipa-sra` support by $KERNEL_CC. - Don't enable `-mgeneral-regs-only` for certain module files. Fix #13260 - Scope `GCC diagnostic ignored` statements to GCC only. Clang doesn't need them to compile the code. Reviewed-by: Richard Yao <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: szubersk <[email protected]> Closes #13260 Closes #14150
Diffstat (limited to 'module/os/linux/spl/spl-generic.c')
-rw-r--r--module/os/linux/spl/spl-generic.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/module/os/linux/spl/spl-generic.c b/module/os/linux/spl/spl-generic.c
index 71eedf635..38515023e 100644
--- a/module/os/linux/spl/spl-generic.c
+++ b/module/os/linux/spl/spl-generic.c
@@ -254,8 +254,10 @@ __div_u64(uint64_t u, uint32_t v)
* replacements for libgcc-provided functions and will never be called
* directly.
*/
+#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+#endif
/*
* Implementation of 64-bit unsigned division for 32-bit machines.
@@ -449,7 +451,9 @@ __aeabi_ldivmod(int64_t u, int64_t v)
EXPORT_SYMBOL(__aeabi_ldivmod);
#endif /* __arm || __arm__ */
+#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic pop
+#endif
#endif /* BITS_PER_LONG */