[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