diff --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp index 24db5ac01c61..9fde85a6fe48 100644 --- a/clang/lib/Driver/ToolChains/HIPAMD.cpp +++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp @@ -283,7 +283,8 @@ void HIPAMDToolChain::addClangTargetOptions( DeviceOffloadingKind == Action::OFK_SYCL) && "Only HIP and SYCL offloading kinds are supported for GPUs."); - CC1Args.push_back("-fcuda-is-device"); + if (DeviceOffloadingKind != Action::OFK_SYCL) + CC1Args.push_back("-fcuda-is-device"); if (!DriverArgs.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc, false)) diff --git a/clang/test/Driver/sycl-cuda-arch-macro.cpp b/clang/test/Driver/sycl-cuda-arch-macro.cpp index eba3f90528e5..46e34324182e 100644 --- a/clang/test/Driver/sycl-cuda-arch-macro.cpp +++ b/clang/test/Driver/sycl-cuda-arch-macro.cpp @@ -1,16 +1,17 @@ // Verify the __CUDA_ARCH__ macro has not been defined when offloading SYCL on NVPTX // RUN: %clangxx -E -dM -fsycl -fsycl-targets=nvptx64-nvidia-cuda -Xsycl-target-backend --offload-arch=sm_80 -nocudalib -fno-sycl-libspirv %s 2>&1 \ -// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO-NVPTX %s -// CHECK-CUDA-ARCH-MACRO-NVPTX-NOT: #define __CUDA_ARCH__ {{[0-9]+}} - +// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO %s // Verify the __CUDA_ARCH__ macro has not been defined when offloading SYCL on AMDGPU // RUN: %clangxx -E -dM -fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx90a -nogpulib -fno-sycl-libspirv %s 2>&1 \ -// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO-AMDGPU %s -// CHECK-CUDA-ARCH-MACRO-AMDGPU-NOT: #define __CUDA_ARCH__ {{[0-9]+}} +// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO %s +// CHECK-CUDA-ARCH-MACRO-NVPTX-NOT: #define __CUDA_ARCH__ {{[0-9]+}} // Verify that '-fcuda-is-device' is not supplied when offloading SYCL on NVPTX // RUN: %clangxx -### -fsycl -fsycl-targets=nvptx64-nvidia-cuda -Xsycl-target-backend --offload-arch=sm_80 -nocudalib -fno-sycl-libspirv %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-CUDA-IS-DEVICE %s -// CHECK-CUDA-IS-DEVICE: clang{{.*}} "-cc1" "-triple" "nvptx64-nvidia-cuda" +// Verify that '-fcuda-is-device' is not supplied when offloading SYCL on AMDGPU +// RUN: %clangxx -### -fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx90a -nogpulib -fno-sycl-libspirv %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-CUDA-IS-DEVICE %s +// CHECK-CUDA-IS-DEVICE: clang{{.*}} "-cc1" "-triple" "amdgcn-amd-amdhsa" // CHECK-CUDA-IS-DEVICE-NOT: "-fcuda-is-device" // CHECK-CUDA-IS-DEVICE-SAME: "-fsycl-is-device"