32 lines · plain
1// Tests CUDA compilation with -E.2 3// REQUIRES: x86-registered-target4// REQUIRES: nvptx-registered-target5 6#ifndef __CUDA_ARCH__7#define PREPROCESSED_AWAY8clang_unittest_no_arch PREPROCESSED_AWAY9#else10clang_unittest_cuda_arch __CUDA_ARCH__11#endif12 13// CHECK-NOT: PREPROCESSED_AWAY14 15// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 -nocudainc -nocudalib %s 2>&1 \16// RUN: | FileCheck -check-prefix NOARCH %s17// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only -nocudainc %s 2>&1 \18// RUN: | FileCheck -check-prefix NOARCH %s19// NOARCH: clang_unittest_no_arch20 21// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-device-only -nocudainc -nocudalib %s 2>&1 \22// RUN: | FileCheck -check-prefix SM20 %s23// SM20: clang_unittest_cuda_arch 20024 25// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_30 --cuda-device-only -nocudainc -nocudalib %s 2>&1 \26// RUN: | FileCheck -check-prefix SM30 %s27// SM30: clang_unittest_cuda_arch 30028 29// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 \30// RUN: --cuda-device-only -nocudainc -nocudalib %s 2>&1 \31// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s32