From 9061e4f48627f01316ddc5887f3dd23225fdd500 Mon Sep 17 00:00:00 2001 From: Yaxun Liu Date: Wed, 25 Apr 2018 13:33:19 +0000 Subject: [HIP] Add predefined macros __HIPCC__ and __HIP_DEVICE_COMPILE__ Differential Revision: https://reviews.llvm.org/D45441 llvm-svn: 330824 --- clang/lib/Frontend/InitPreprocessor.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'clang/lib/Frontend/InitPreprocessor.cpp') diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index ebb3f26..192862d 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -473,8 +473,12 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__ASSEMBLER__"); if (LangOpts.CUDA && !LangOpts.HIP) Builder.defineMacro("__CUDA__"); - if (LangOpts.HIP) + if (LangOpts.HIP) { Builder.defineMacro("__HIP__"); + Builder.defineMacro("__HIPCC__"); + if (LangOpts.CUDAIsDevice) + Builder.defineMacro("__HIP_DEVICE_COMPILE__"); + } } /// Initialize the predefined C++ language feature test macros defined in @@ -1033,7 +1037,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, } // CUDA device path compilaton - if (LangOpts.CUDAIsDevice) { + if (LangOpts.CUDAIsDevice && !LangOpts.HIP) { // The CUDA_ARCH value is set for the GPU target specified in the NVPTX // backend's target defines. Builder.defineMacro("__CUDA_ARCH__"); -- cgit v1.1