[clang] [CUDA][Win32] Add `fma(long double,..)` to math forward declares. (PR #73756)

via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 28 23:03:15 PST 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-x86

Author: None (fodinabor)

<details>
<summary>Changes</summary>

As per https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1256 - we are missing the `fma` long double variant for Cpp20 compact with MS-STL.

See also #<!-- -->49853.
-> I'm wondering if we should include this for all long double variants as defined in https://github.com/microsoft/STL/blob/730af178f7c79bd75d414627f969550775e14994/stl/inc/cmath#L291 ?

CC @<!-- -->blinkfrog

---
Full diff: https://github.com/llvm/llvm-project/pull/73756.diff


1 Files Affected:

- (modified) clang/lib/Headers/__clang_cuda_math_forward_declares.h (+3) 


``````````diff
diff --git a/clang/lib/Headers/__clang_cuda_math_forward_declares.h b/clang/lib/Headers/__clang_cuda_math_forward_declares.h
index c0f1f47cc99302a..2d1bdd0f9bb0f41 100644
--- a/clang/lib/Headers/__clang_cuda_math_forward_declares.h
+++ b/clang/lib/Headers/__clang_cuda_math_forward_declares.h
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
 __DEVICE__ float floor(float);
 __DEVICE__ double fma(double, double, double);
 __DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__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);

``````````

</details>


https://github.com/llvm/llvm-project/pull/73756


More information about the cfe-commits mailing list