diff options
Diffstat (limited to 'test/Driver/cuda-bail-out.cu')
-rw-r--r-- | test/Driver/cuda-bail-out.cu | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/Driver/cuda-bail-out.cu b/test/Driver/cuda-bail-out.cu new file mode 100644 index 000000000000..aaf771474315 --- /dev/null +++ b/test/Driver/cuda-bail-out.cu @@ -0,0 +1,54 @@ +// Test clang driver bails out after one error during CUDA compilation. + +// REQUIRES: clang-driver +// REQUIRES: powerpc-registered-target +// REQUIRES: nvptx-registered-target + +#ifdef FORCE_ERROR +#error compilation failed +#endif + +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DFORCE_ERROR %s 2>&1 | FileCheck %s +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DFORCE_ERROR --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ +// RUN: %s 2>&1 | FileCheck %s +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DFORCE_ERROR --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ +// RUN: --cuda-device-only %s 2>&1 | FileCheck %s + +#if defined(ERROR_HOST) && !defined(__CUDA_ARCH__) +#error compilation failed +#endif + +#if defined(ERROR_SM35) && (__CUDA_ARCH__ == 350) +#error compilation failed +#endif + +#if defined(ERROR_SM60) && (__CUDA_ARCH__ == 600) +#error compilation failed +#endif + +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DERROR_HOST --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ +// RUN: %s 2>&1 | FileCheck %s +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DERROR_SM35 --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ +// RUN: --cuda-device-only %s 2>&1 | FileCheck %s +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DERROR_SM60 --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ +// RUN: --cuda-device-only %s 2>&1 | FileCheck %s + +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DERROR_HOST -DERROR_SM35 --cuda-gpu-arch=sm_35 \ +// RUN: --cuda-gpu-arch=sm_60 %s 2>&1 | FileCheck %s +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DERROR_HOST -DERROR_SM60 --cuda-gpu-arch=sm_35 \ +// RUN: --cuda-gpu-arch=sm_60 %s 2>&1 | FileCheck %s +// RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ +// RUN: -nocudainc -DERROR_SM35 -DERROR_SM60 --cuda-gpu-arch=sm_35 \ +// RUN: --cuda-gpu-arch=sm_60 %s 2>&1 | FileCheck %s + + +// CHECK: error: compilation failed +// CHECK-NOT: error: compilation failed |