From b1a90e1599a65bccf9af985603e198af3876b59a Mon Sep 17 00:00:00 2001 From: Johannes Doerfert Date: Thu, 22 Oct 2020 11:36:49 -0500 Subject: [PATCH] [OpenMP][CUDA] Add missing overload for `remquo(float,float,int*)` Reported by Colleen Bertoni after running the OvO test suite: https://github.com/TApplencourt/OvO/ The template overload is still hidden behind an ifdef for OpenMP. In the future we probably want to remove the ifdef but that requires further testing. Reviewed By: JonChesterfield, tra Differential Revision: https://reviews.llvm.org/D89971 --- clang/lib/Headers/__clang_cuda_cmath.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clang/lib/Headers/__clang_cuda_cmath.h b/clang/lib/Headers/__clang_cuda_cmath.h index f49463d..92f3011 100644 --- a/clang/lib/Headers/__clang_cuda_cmath.h +++ b/clang/lib/Headers/__clang_cuda_cmath.h @@ -174,6 +174,9 @@ __DEVICE__ float sinh(float __x) { return ::sinhf(__x); } __DEVICE__ float sqrt(float __x) { return ::sqrtf(__x); } __DEVICE__ float tan(float __x) { return ::tanf(__x); } __DEVICE__ float tanh(float __x) { return ::tanhf(__x); } +__DEVICE__ float remquo(float __n, float __d, int *__q) { + return ::remquof(__n, __d, __q); +} // Notably missing above is nexttoward. We omit it because // libdevice doesn't provide an implementation, and we don't want to be in the -- 2.7.4