| // 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 |