[PATCH] D101867: [clang][test] Update -fc++-abi tests

Leonard Chan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 4 15:47:40 PDT 2021


leonardchan updated this revision to Diff 342889.
leonardchan marked 2 inline comments as done.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101867/new/

https://reviews.llvm.org/D101867

Files:
  clang/test/Driver/cxx-abi-flag.cpp
  clang/test/Frontend/invalid-cxx-abi.cpp
  clang/test/Frontend/valid-cxx-abi.cpp


Index: clang/test/Frontend/valid-cxx-abi.cpp
===================================================================
--- /dev/null
+++ clang/test/Frontend/valid-cxx-abi.cpp
@@ -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
Index: clang/test/Frontend/invalid-cxx-abi.cpp
===================================================================
--- clang/test/Frontend/invalid-cxx-abi.cpp
+++ clang/test/Frontend/invalid-cxx-abi.cpp
@@ -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'
Index: clang/test/Driver/cxx-abi-flag.cpp
===================================================================
--- /dev/null
+++ clang/test/Driver/cxx-abi-flag.cpp
@@ -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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101867.342889.patch
Type: text/x-patch
Size: 3323 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210504/72582f87/attachment-0001.bin>


More information about the cfe-commits mailing list