fodinabor updated this revision to Diff 301726. fodinabor edited the summary of this revision. fodinabor added a comment.
Add missing macro definitions. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90415/new/ https://reviews.llvm.org/D90415 Files: clang/lib/Headers/__clang_cuda_complex_builtins.h clang/lib/Headers/openmp_wrappers/complex clang/lib/Headers/openmp_wrappers/complex.h Index: clang/lib/Headers/openmp_wrappers/complex.h =================================================================== --- clang/lib/Headers/openmp_wrappers/complex.h +++ clang/lib/Headers/openmp_wrappers/complex.h @@ -18,7 +18,9 @@ #include <math.h> #define __CUDA__ +#define __OPENMP_NVPTX__ #include <__clang_cuda_complex_builtins.h> +#undef __OPENMP_NVPTX__ #endif // Grab the host header too. Index: clang/lib/Headers/openmp_wrappers/complex =================================================================== --- clang/lib/Headers/openmp_wrappers/complex +++ clang/lib/Headers/openmp_wrappers/complex @@ -18,7 +18,9 @@ #include <cmath> #define __CUDA__ +#define __OPENMP_NVPTX__ #include <__clang_cuda_complex_builtins.h> +#undef __OPENMP_NVPTX__ #endif // Grab the host header too. Index: clang/lib/Headers/__clang_cuda_complex_builtins.h =================================================================== --- clang/lib/Headers/__clang_cuda_complex_builtins.h +++ clang/lib/Headers/__clang_cuda_complex_builtins.h @@ -16,7 +16,7 @@ // to work with CUDA and OpenMP target offloading [in C and C++ mode].) #pragma push_macro("__DEVICE__") -#ifdef _OPENMP +#ifdef __OPENMP_NVPTX__ #pragma omp declare target #define __DEVICE__ __attribute__((noinline, nothrow, cold, weak)) #else @@ -26,7 +26,7 @@ // To make the algorithms available for C and C++ in CUDA and OpenMP we select // different but equivalent function versions. TODO: For OpenMP we currently // select the native builtins as the overload support for templates is lacking. -#if !defined(_OPENMP) +#if !defined(__OPENMP_NVPTX__) #define _ISNANd std::isnan #define _ISNANf std::isnan #define _ISINFd std::isinf @@ -276,7 +276,7 @@ #undef _fmaxd #undef _fmaxf -#ifdef _OPENMP +#ifdef __OPENMP_NVPTX__ #pragma omp end declare target #endif
Index: clang/lib/Headers/openmp_wrappers/complex.h =================================================================== --- clang/lib/Headers/openmp_wrappers/complex.h +++ clang/lib/Headers/openmp_wrappers/complex.h @@ -18,7 +18,9 @@ #include <math.h> #define __CUDA__ +#define __OPENMP_NVPTX__ #include <__clang_cuda_complex_builtins.h> +#undef __OPENMP_NVPTX__ #endif // Grab the host header too. Index: clang/lib/Headers/openmp_wrappers/complex =================================================================== --- clang/lib/Headers/openmp_wrappers/complex +++ clang/lib/Headers/openmp_wrappers/complex @@ -18,7 +18,9 @@ #include <cmath> #define __CUDA__ +#define __OPENMP_NVPTX__ #include <__clang_cuda_complex_builtins.h> +#undef __OPENMP_NVPTX__ #endif // Grab the host header too. Index: clang/lib/Headers/__clang_cuda_complex_builtins.h =================================================================== --- clang/lib/Headers/__clang_cuda_complex_builtins.h +++ clang/lib/Headers/__clang_cuda_complex_builtins.h @@ -16,7 +16,7 @@ // to work with CUDA and OpenMP target offloading [in C and C++ mode].) #pragma push_macro("__DEVICE__") -#ifdef _OPENMP +#ifdef __OPENMP_NVPTX__ #pragma omp declare target #define __DEVICE__ __attribute__((noinline, nothrow, cold, weak)) #else @@ -26,7 +26,7 @@ // To make the algorithms available for C and C++ in CUDA and OpenMP we select // different but equivalent function versions. TODO: For OpenMP we currently // select the native builtins as the overload support for templates is lacking. -#if !defined(_OPENMP) +#if !defined(__OPENMP_NVPTX__) #define _ISNANd std::isnan #define _ISNANf std::isnan #define _ISINFd std::isinf @@ -276,7 +276,7 @@ #undef _fmaxd #undef _fmaxf -#ifdef _OPENMP +#ifdef __OPENMP_NVPTX__ #pragma omp end declare target #endif
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits