Author: Johannes Doerfert Date: 2020-10-27T23:52:59-05:00 New Revision: 17c8251bca83072d2f3e00f936d6ce24500e6b02
URL: https://github.com/llvm/llvm-project/commit/17c8251bca83072d2f3e00f936d6ce24500e6b02 DIFF: https://github.com/llvm/llvm-project/commit/17c8251bca83072d2f3e00f936d6ce24500e6b02.diff LOG: [OpenMP][CUDA][FIX] Use the new `remquo` overload only for OpenMP CUDA buildbots complained about a redefinition when I landed D89971. This is odd and I fail to understand where in the CUDA headers the other definition is supposed to be. For now, given that CUDA doesn't need the overload (AFAIKT), we simply restrict it to the OpenMP mode. Added: Modified: clang/lib/Headers/__clang_cuda_cmath.h Removed: ################################################################################ diff --git a/clang/lib/Headers/__clang_cuda_cmath.h b/clang/lib/Headers/__clang_cuda_cmath.h index 92f3011c18ee..5bbb59a93b9e 100644 --- a/clang/lib/Headers/__clang_cuda_cmath.h +++ b/clang/lib/Headers/__clang_cuda_cmath.h @@ -174,9 +174,15 @@ __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); } + +// There was a redefinition error for this this overload in CUDA mode. +// We restrict it to OpenMP mode for now, that is where it is actually needed +// anyway. +#ifdef __OPENMP_NVPTX__ __DEVICE__ float remquo(float __n, float __d, int *__q) { return ::remquof(__n, __d, __q); } +#endif // Notably missing above is nexttoward. We omit it because // libdevice doesn't provide an implementation, and we don't want to be in the _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits