diff options
author | szubersk <[email protected]> | 2022-11-30 20:27:28 +1000 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2022-11-30 13:46:26 -0800 |
commit | fe975048da29c4756bafd9f63a192db17e3acb7c (patch) | |
tree | 30c89360b88aeb882e0c5ee14dd5916f9c623747 /module/os/linux/spl/spl-generic.c | |
parent | 3c1e1933b681cb68e0494c09d902e0187673ecc3 (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.c | 4 |
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 */ |