1 | // Test clang driver bails out after one error during CUDA compilation. |
2 | |
3 | // REQUIRES: clang-driver |
4 | // REQUIRES: powerpc-registered-target |
5 | // REQUIRES: nvptx-registered-target |
6 | |
7 | #ifdef FORCE_ERROR |
8 | #error compilation failed |
9 | #endif |
10 | |
11 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
12 | // RUN: -nocudainc -DFORCE_ERROR %s 2>&1 | FileCheck %s |
13 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
14 | // RUN: -nocudainc -DFORCE_ERROR --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ |
15 | // RUN: %s 2>&1 | FileCheck %s |
16 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
17 | // RUN: -nocudainc -DFORCE_ERROR --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ |
18 | // RUN: --cuda-device-only %s 2>&1 | FileCheck %s |
19 | |
20 | #if defined(ERROR_HOST) && !defined(__CUDA_ARCH__) |
21 | #error compilation failed |
22 | #endif |
23 | |
24 | #if defined(ERROR_SM35) && (__CUDA_ARCH__ == 350) |
25 | #error compilation failed |
26 | #endif |
27 | |
28 | #if defined(ERROR_SM60) && (__CUDA_ARCH__ == 600) |
29 | #error compilation failed |
30 | #endif |
31 | |
32 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
33 | // RUN: -nocudainc -DERROR_HOST --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ |
34 | // RUN: %s 2>&1 | FileCheck %s |
35 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
36 | // RUN: -nocudainc -DERROR_SM35 --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ |
37 | // RUN: --cuda-device-only %s 2>&1 | FileCheck %s |
38 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
39 | // RUN: -nocudainc -DERROR_SM60 --cuda-gpu-arch=sm_35 --cuda-gpu-arch=sm_60 \ |
40 | // RUN: --cuda-device-only %s 2>&1 | FileCheck %s |
41 | |
42 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
43 | // RUN: -nocudainc -DERROR_HOST -DERROR_SM35 --cuda-gpu-arch=sm_35 \ |
44 | // RUN: --cuda-gpu-arch=sm_60 %s 2>&1 | FileCheck %s |
45 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
46 | // RUN: -nocudainc -DERROR_HOST -DERROR_SM60 --cuda-gpu-arch=sm_35 \ |
47 | // RUN: --cuda-gpu-arch=sm_60 %s 2>&1 | FileCheck %s |
48 | // RUN: not %clang -target powerpc64le-ibm-linux-gnu -fsyntax-only -nocudalib \ |
49 | // RUN: -nocudainc -DERROR_SM35 -DERROR_SM60 --cuda-gpu-arch=sm_35 \ |
50 | // RUN: --cuda-gpu-arch=sm_60 %s 2>&1 | FileCheck %s |
51 | |
52 | |
53 | // CHECK: error: compilation failed |
54 | // CHECK-NOT: error: compilation failed |
55 | |