[clang] b1a90e1 - [OpenMP][CUDA] Add missing overload for `remquo(float,float,int*)`

Johannes Doerfert via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 27 17:13:07 PDT 2020


Author: Johannes Doerfert
Date: 2020-10-27T19:12:51-05:00
New Revision: b1a90e1599a65bccf9af985603e198af3876b59a

URL: https://github.com/llvm/llvm-project/commit/b1a90e1599a65bccf9af985603e198af3876b59a
DIFF: https://github.com/llvm/llvm-project/commit/b1a90e1599a65bccf9af985603e198af3876b59a.diff

LOG: [OpenMP][CUDA] Add missing overload for `remquo(float,float,int*)`

Reported by Colleen Bertoni <bertoni at anl.gov> 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

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 f49463d72e04..92f3011c18ee 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


        


More information about the cfe-commits mailing list