Skip to content

Commit 8a7cf2b

Browse files
authored
[SYCL][Clang][HIP] Disable macro __CUDA_ARCH__ for AMD hip-platform (#7977)
Fixes #7720
1 parent a2614ef commit 8a7cf2b

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

clang/lib/Basic/Targets/AMDGPU.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,7 @@ void AMDGPUTargetInfo::getTargetDefines(const LangOptions &Opts,
415415
assert(CanonName.startswith("gfx") && "Invalid amdgcn canonical name");
416416
Builder.defineMacro(Twine("__") + Twine(CanonName.drop_back(2).upper()) +
417417
Twine("__"));
418+
Builder.defineMacro("__CUDA_ARCH__", "0");
418419
}
419420
if (isAMDGCN(getTriple())) {
420421
Builder.defineMacro("__amdgcn_processor__",

clang/test/Preprocessor/sycl-macro.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
// RUN: %clang_cc1 -fno-sycl-id-queries-fit-in-int %s -E -dM | FileCheck \
1111
// RUN: --check-prefix=CHECK-NO-SYCL_FIT_IN_INT %s
1212
// RUN: %clang_cc1 %s -triple nvptx64-nvidia-cuda -target-cpu sm_80 -fsycl-is-device -E -dM | FileCheck --check-prefix=CHECK-CUDA %s
13+
// RUN: %clang_cc1 %s -triple amdgcn-amd-amdhsa -target-cpu gfx906 -fsycl-is-device -E -dM | FileCheck --check-prefix=CHECK-HIP %s
1314

1415
// CHECK-NOT:#define __SYCL_DEVICE_ONLY__ 1
1516
// CHECK-NOT:#define SYCL_EXTERNAL
@@ -33,3 +34,5 @@
3334
// CHECK-SYCL-ID:#define __SYCL_ID_QUERIES_FIT_IN_INT__ 1
3435

3536
// CHECK-CUDA:#define __CUDA_ARCH__ 800
37+
38+
// CHECK-HIP:#define __CUDA_ARCH__ 0

0 commit comments

Comments
 (0)