[clang] 4b20c74 - [CUDA][Win32] Add `fma(long double,..)` to math forward declares. (#73756)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 10 06:18:31 PDT 2026
Author: Joachim Meyer
Date: 2026-03-10T13:18:25Z
New Revision: 4b20c746b24a797e5ee9ac6270c53d89d80c3efd
URL: https://github.com/llvm/llvm-project/commit/4b20c746b24a797e5ee9ac6270c53d89d80c3efd
DIFF: https://github.com/llvm/llvm-project/commit/4b20c746b24a797e5ee9ac6270c53d89d80c3efd.diff
LOG: [CUDA][Win32] Add `fma(long double,..)` to math forward declares. (#73756)
As per https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1256 - we are
missing the `fma` long double variant for Cpp20 compat with MS-STL.
Added:
Modified:
clang/lib/Headers/__clang_cuda_math_forward_declares.h
Removed:
################################################################################
diff --git a/clang/lib/Headers/__clang_cuda_math_forward_declares.h b/clang/lib/Headers/__clang_cuda_math_forward_declares.h
index c0f1f47cc9930..45fe1e5b1772d 100644
--- a/clang/lib/Headers/__clang_cuda_math_forward_declares.h
+++ b/clang/lib/Headers/__clang_cuda_math_forward_declares.h
@@ -70,6 +70,11 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+// long double fma variant is not actually supported by CUDA (PTX).
+// However, MS-STL requires that this is forward declared anyways.
+__DEVICE__ long double fma(long double, long double, long double);
+#endif
__DEVICE__ double fmax(double, double);
__DEVICE__ float fmax(float, float);
__DEVICE__ double fmin(double, double);
More information about the cfe-commits
mailing list