CUDA host device code with two code paths
Summary: Allow CUDA host device functions with two code paths using __CUDA_ARCH__ to differentiate between code path being compiled. For example: __host__ __device__ void host_device_function(void) { #ifdef __CUDA_ARCH__ device_only_function(); #else host_only_function(); #endif } Patch by Jacques Pienaar. Reviewed By: rnk Differential Revision: http://reviews.llvm.org/D6457 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223271 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/LangOptions.def 1 addition, 0 deletionsinclude/clang/Basic/LangOptions.def
- lib/Basic/Targets.cpp 41 additions, 8 deletionslib/Basic/Targets.cpp
- lib/Frontend/CompilerInvocation.cpp 3 additions, 0 deletionslib/Frontend/CompilerInvocation.cpp
- lib/Frontend/InitPreprocessor.cpp 7 additions, 0 deletionslib/Frontend/InitPreprocessor.cpp
- lib/Sema/SemaCUDA.cpp 14 additions, 5 deletionslib/Sema/SemaCUDA.cpp
- test/SemaCUDA/function-target.cu 31 additions, 4 deletionstest/SemaCUDA/function-target.cu
Loading
Please register or sign in to comment