I'm compiling Android kernel using latest Clang (19) and that error is shown.
Here is the error output:
../drivers/clk/qcom/camcc-sm8150.c:547:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
547 | F(266666667, P_CAM_CC_PLL0_OUT_ODD, 1.5, 0, 0),
| ^
../drivers/clk/qcom/camcc-sm8150.c:41:41: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:547:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
../drivers/clk/qcom/camcc-sm8150.c:41:47: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:548:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
548 | F(320000000, P_CAM_CC_PLL2_OUT_MAIN, 1.5, 0, 0),
| ^
../drivers/clk/qcom/camcc-sm8150.c:41:41: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:548:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
../drivers/clk/qcom/camcc-sm8150.c:41:47: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:973:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
973 | F(320000000, P_CAM_CC_PLL2_OUT_MAIN, 1.5, 0, 0),
| ^
../drivers/clk/qcom/camcc-sm8150.c:41:41: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:973:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
../drivers/clk/qcom/camcc-sm8150.c:41:47: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:1143:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
1143 | F(320000000, P_CAM_CC_PLL2_OUT_MAIN, 1.5, 0, 0),
| ^
../drivers/clk/qcom/camcc-sm8150.c:41:41: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:1143:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
../drivers/clk/qcom/camcc-sm8150.c:41:47: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:1292:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
1292 | F(80000000, P_CAM_CC_PLL0_OUT_EVEN, 7.5, 0, 0),
| ^
../drivers/clk/qcom/camcc-sm8150.c:41:41: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
| ^
../drivers/clk/qcom/camcc-sm8150.c:1292:2: error: expression requires 'double' type support, but ABI 'aapcs' does not support it
../drivers/clk/qcom/camcc-sm8150.c:41:47: note: expanded from macro 'F'
41 | #define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }
This is the Clang toolchain I'm using: https://github.com/XSans0/WeebX-Clang/releases/latest
And this is the kernel source: https://github.com/LineageOS/android_kernel_xiaomi_vayu
Maybe I should downgrade my Clang compiler? Or someone know how to fix?
I tried to enable LLVM_IAS but same result :(
Fixed in this commit: https://github.com/llvm/llvm-project/commit/ea9ec80b7aa1bd34edd5b544cd41450573f2cbff
Maybe I should use a stable Clang 🤔