forked from OSchip/llvm-project
[clang][test] Update -fc++-abi tests
This attempts to move driver tests out of Frontend and to Driver, separates RUNs that should fail from RUNs that should succeed, and prevent creating output files or dumping output. Differential Revision: https://reviews.llvm.org/D101867
This commit is contained in:
parent
347f69c55f
commit
0277a24f4b
|
@ -0,0 +1,11 @@
|
|||
// Ensure that the driver flag is propagated to cc1.
|
||||
// RUN: %clang -### -fc++-abi=itanium -target x86_64-unknown-linux-gnu %s \
|
||||
// RUN: 2>&1 | FileCheck %s -check-prefix=ITANIUM
|
||||
// RUN: %clang -### -fc++-abi=fuchsia -target x86_64-unknown-fuchsia %s \
|
||||
// RUN: 2>&1 | FileCheck %s -check-prefix=FUCHSIA
|
||||
// RUN: %clang -### -fc++-abi=microsoft -target x86_64-unknown-windows-msvc %s \
|
||||
// RUN: 2>&1 | FileCheck %s -check-prefix=MICROSOFT
|
||||
//
|
||||
// ITANIUM: -fc++-abi=itanium
|
||||
// FUCHSIA: -fc++-abi=fuchsia
|
||||
// MICROSOFT: -fc++-abi=microsoft
|
|
@ -1,24 +1,9 @@
|
|||
// REQUIRES: x86-registered-target
|
||||
|
||||
// These should succeed.
|
||||
// RUN: %clang -c -fc++-abi=itanium -target x86_64-unknown-linux-gnu %s
|
||||
// RUN: %clang -c -fc++-abi=fuchsia -target x86_64-unknown-fuchsia %s
|
||||
// RUN: %clang -c -fc++-abi=microsoft -target x86_64-windows-msvc %s
|
||||
// RUN: %clang_cc1 -fc++-abi=itanium -triple x86_64-unknown-linux-gnu %s
|
||||
// RUN: %clang_cc1 -fc++-abi=fuchsia -triple x86_64-unknown-fuchsia %s
|
||||
// RUN: %clang_cc1 -fc++-abi=microsoft -triple x86_64-windows-msvc %s
|
||||
|
||||
// RUN: not %clang -c -fc++-abi=InvalidABI %s 2>&1 | FileCheck %s -check-prefix=INVALID
|
||||
// RUN: not %clang -c -fc++-abi=Fuchsia %s 2>&1 | FileCheck %s -check-prefix=CASE-SENSITIVE
|
||||
// RUN: not %clang_cc1 -fc++-abi=InvalidABI %s 2>&1 | FileCheck %s -check-prefix=INVALID
|
||||
// RUN: not %clang_cc1 -fc++-abi=Fuchsia %s 2>&1 | FileCheck %s -check-prefix=CASE-SENSITIVE
|
||||
// These shouldn't be valid -fc++-abi values.
|
||||
// RUN: not %clang_cc1 -S -emit-llvm -o /dev/null -fc++-abi=InvalidABI %s 2>&1 | FileCheck %s -check-prefix=INVALID
|
||||
// RUN: not %clang_cc1 -S -emit-llvm -o /dev/null -fc++-abi=Fuchsia %s 2>&1 | FileCheck %s -check-prefix=CASE-SENSITIVE
|
||||
// INVALID: error: Invalid C++ ABI name 'InvalidABI'
|
||||
// CASE-SENSITIVE: error: Invalid C++ ABI name 'Fuchsia'
|
||||
|
||||
// The flag is propgated from the driver to cc1.
|
||||
// RUN: %clang -fc++-abi=InvalidABI %s -### 2>&1 | FileCheck %s -check-prefix=CC1-FLAG
|
||||
// CC1-FLAG: -fc++-abi=InvalidABI
|
||||
|
||||
// Some C++ ABIs are not supported on some platforms.
|
||||
// RUN: not %clang_cc1 -c -fc++-abi=fuchsia -triple i386 %s 2>&1 | FileCheck %s -check-prefix=UNSUPPORTED-FUCHSIA
|
||||
// RUN: not %clang_cc1 -S -emit-llvm -o /dev/null -fc++-abi=fuchsia -triple i386 %s 2>&1 | FileCheck %s -check-prefix=UNSUPPORTED-FUCHSIA
|
||||
// UNSUPPORTED-FUCHSIA: error: C++ ABI 'fuchsia' is not supported on target triple 'i386'
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
// These should be valid cxx abi flags for these targets.
|
||||
// RUN: %clang_cc1 -fc++-abi=itanium -triple x86_64-unknown-linux-gnu %s -S -emit-llvm -o /dev/null
|
||||
// RUN: %clang_cc1 -fc++-abi=fuchsia -triple x86_64-unknown-fuchsia %s -S -emit-llvm -o /dev/null
|
||||
// RUN: %clang_cc1 -fc++-abi=microsoft -triple x86_64-windows-msvc %s -S -emit-llvm -o /dev/null
|
Loading…
Reference in New Issue