From 191e9e3d710bf4d592ad06f1defd703b61166f69 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Fri, 13 Dec 2013 22:43:52 +0000 Subject: [PATCH] Prepare for using MS ABI by default for Win32: update CodeGenCXX tests git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197281 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../2003-11-27-MultipleInheritanceThunk.cpp | 3 ++- .../2004-03-08-ReinterpretCastCopy.cpp | 3 ++- .../2004-03-09-UnmangledBuiltinMethods.cpp | 2 +- .../2006-09-12-OpaqueStructCrash.cpp | 3 ++- .../2010-05-11-alwaysinlineinstantiation.cpp | 2 +- .../PR5093-static-member-function.cpp | 2 +- test/CodeGenCXX/PR5863-unreachable-block.cpp | 2 +- test/CodeGenCXX/address-of-fntemplate.cpp | 2 +- test/CodeGenCXX/attr-cleanup.cpp | 2 +- test/CodeGenCXX/attr-used.cpp | 2 +- test/CodeGenCXX/block-byref-cxx-objc.cpp | 2 +- test/CodeGenCXX/block.cpp | 3 ++- test/CodeGenCXX/c-linkage.cpp | 2 +- test/CodeGenCXX/captured-statements.cpp | 2 +- test/CodeGenCXX/const-base-cast.cpp | 2 +- test/CodeGenCXX/const-global-linkage.cpp | 2 +- test/CodeGenCXX/constructor-attr.cpp | 2 +- test/CodeGenCXX/constructor-direct-call.cpp | 14 ++++++------ .../CodeGenCXX/constructor-init-reference.cpp | 4 ++-- test/CodeGenCXX/copy-assign-synthesis-2.cpp | 2 +- .../copy-constructor-synthesis-2.cpp | 2 +- test/CodeGenCXX/coverage.cpp | 2 +- test/CodeGenCXX/cxx0x-defaulted-templates.cpp | 2 +- test/CodeGenCXX/cxx11-noreturn.cpp | 2 +- test/CodeGenCXX/cxx11-unrestricted-union.cpp | 2 +- test/CodeGenCXX/debug-info-char16.cpp | 2 +- test/CodeGenCXX/debug-info-enum.cpp | 2 +- .../debug-info-gline-tables-only.cpp | 2 +- .../debug-info-global-ctor-dtor.cpp | 4 ++-- test/CodeGenCXX/debug-info-method.cpp | 2 +- test/CodeGenCXX/debug-info-same-line.cpp | 2 +- test/CodeGenCXX/debug-info-template-limit.cpp | 2 +- test/CodeGenCXX/debug-info-thunk.cpp | 2 +- test/CodeGenCXX/debug-info-use-after-free.cpp | 2 +- .../default-constructor-default-argument.cpp | 2 +- .../default-constructor-template-member.cpp | 2 +- test/CodeGenCXX/default-destructor-nested.cpp | 2 +- test/CodeGenCXX/deferred-global-init.cpp | 2 +- ...ived-to-virtual-base-class-calls-final.cpp | 2 +- test/CodeGenCXX/destructor-exception-spec.cpp | 4 ++-- test/CodeGenCXX/duplicate-mangled-name.cpp | 2 +- test/CodeGenCXX/dynamic_cast-no-rtti.cpp | 2 +- test/CodeGenCXX/elide-call-reference.cpp | 2 +- test/CodeGenCXX/extern-c.cpp | 2 +- ...ction-template-explicit-specialization.cpp | 2 +- .../function-template-specialization.cpp | 2 +- test/CodeGenCXX/global-llvm-constant.cpp | 2 +- test/CodeGenCXX/implicit-instantiation-1.cpp | 2 +- test/CodeGenCXX/instrument-functions.cpp | 2 +- test/CodeGenCXX/internal-linkage.cpp | 2 +- test/CodeGenCXX/mangle-abi-examples.cpp | 2 +- test/CodeGenCXX/mangle-address-space.cpp | 2 +- test/CodeGenCXX/mangle-local-class-names.cpp | 2 +- .../CodeGenCXX/mangle-local-class-vtables.cpp | 2 +- .../mangle-local-classes-nested.cpp | 2 +- test/CodeGenCXX/mangle-nullptr-arg.cpp | 2 +- test/CodeGenCXX/mangle-std-externc.cpp | 4 ++-- test/CodeGenCXX/mangle-template.cpp | 2 +- test/CodeGenCXX/member-alignment.cpp | 2 +- test/CodeGenCXX/microsoft-interface.cpp | 22 +++++++++---------- test/CodeGenCXX/microsoft-new.cpp | 2 +- test/CodeGenCXX/microsoft-uuidof.cpp | 6 ++--- test/CodeGenCXX/ms_wide_predefined_expr.cpp | 2 +- test/CodeGenCXX/noinline-template.cpp | 2 +- test/CodeGenCXX/pr11797.cpp | 2 +- test/CodeGenCXX/pr12104.cpp | 6 ++--- test/CodeGenCXX/pr9965.cpp | 2 +- test/CodeGenCXX/pragma-weak.cpp | 2 +- test/CodeGenCXX/predefined-expr.cpp | 2 +- test/CodeGenCXX/reference-field.cpp | 4 +++- test/CodeGenCXX/reference-init.cpp | 2 +- test/CodeGenCXX/return.cpp | 4 ++-- test/CodeGenCXX/scoped-enums.cpp | 2 +- .../specialized-static-data-mem-init.cpp | 2 +- test/CodeGenCXX/stmtexpr.cpp | 2 +- .../template-dependent-bind-temporary.cpp | 2 +- ...emplate-inner-struct-visibility-hidden.cpp | 2 +- test/CodeGenCXX/throw-expression-dtor.cpp | 2 +- test/CodeGenCXX/thunk-use-after-free.cpp | 2 +- test/CodeGenCXX/trivial-constructor-init.cpp | 2 +- test/CodeGenCXX/vararg-non-pod.cpp | 2 +- test/CodeGenCXX/virt-dtor-gen.cpp | 2 +- test/CodeGenCXX/virt-dtor-key.cpp | 2 +- test/CodeGenCXX/virt-template-vtable.cpp | 2 +- test/CodeGenCXX/virtual-base-ctor.cpp | 2 +- .../virtual-base-destructor-call.cpp | 2 +- .../virtual-destructor-synthesis.cpp | 2 +- test/CodeGenCXX/virtual-function-calls.cpp | 2 +- .../virtual-implicit-copy-assignment.cpp | 2 +- .../virtual-implicit-move-assignment.cpp | 2 +- .../virtual-inherited-destructor.cpp | 2 +- .../virtual-pseudo-destructor-call.cpp | 2 +- .../visibility-hidden-extern-templates.cpp | 2 +- test/CodeGenCXX/volatile-1.cpp | 2 +- test/CodeGenCXX/vtable-cast-crash.cpp | 2 +- test/CodeGenCXX/weak-extern-typeinfo.cpp | 2 +- test/CodeGenCXX/weak-external.cpp | 2 +- 97 files changed, 128 insertions(+), 122 deletions(-) diff --git a/test/CodeGenCXX/2003-11-27-MultipleInheritanceThunk.cpp b/test/CodeGenCXX/2003-11-27-MultipleInheritanceThunk.cpp index 3e53397327..f9c6566bc3 100644 --- a/test/CodeGenCXX/2003-11-27-MultipleInheritanceThunk.cpp +++ b/test/CodeGenCXX/2003-11-27-MultipleInheritanceThunk.cpp @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - +// RUN: %clang_cc1 -cxx-abi microsoft -fno-rtti -emit-llvm %s -o - struct CallSite { diff --git a/test/CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp b/test/CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp index a6e2e30dd5..b2bb292130 100644 --- a/test/CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp +++ b/test/CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - +// RUN: %clang_cc1 -cxx-abi microsoft -fno-rtti -emit-llvm %s -o - struct A { virtual void Method() = 0; diff --git a/test/CodeGenCXX/2004-03-09-UnmangledBuiltinMethods.cpp b/test/CodeGenCXX/2004-03-09-UnmangledBuiltinMethods.cpp index 5d8c8b004b..0f82091a12 100644 --- a/test/CodeGenCXX/2004-03-09-UnmangledBuiltinMethods.cpp +++ b/test/CodeGenCXX/2004-03-09-UnmangledBuiltinMethods.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s // CHECK: _ZN11AccessFlags6strlenEv struct AccessFlags { diff --git a/test/CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp b/test/CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp index bd270dd602..59af8f4624 100644 --- a/test/CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp +++ b/test/CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -o - %s +// RUN: %clang_cc1 -cxx-abi microsoft -fno-rtti -emit-llvm -o - %s struct A { virtual ~A(); diff --git a/test/CodeGenCXX/2010-05-11-alwaysinlineinstantiation.cpp b/test/CodeGenCXX/2010-05-11-alwaysinlineinstantiation.cpp index fe0740b7cb..92d2e3ebf5 100644 --- a/test/CodeGenCXX/2010-05-11-alwaysinlineinstantiation.cpp +++ b/test/CodeGenCXX/2010-05-11-alwaysinlineinstantiation.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium %s -o - | FileCheck %s // CHECK-NOT: ZN12basic_stringIcEC1Ev // CHECK: ZN12basic_stringIcED1Ev diff --git a/test/CodeGenCXX/PR5093-static-member-function.cpp b/test/CodeGenCXX/PR5093-static-member-function.cpp index ceab8528e8..8639a8490b 100644 --- a/test/CodeGenCXX/PR5093-static-member-function.cpp +++ b/test/CodeGenCXX/PR5093-static-member-function.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s struct a { static void f(); }; diff --git a/test/CodeGenCXX/PR5863-unreachable-block.cpp b/test/CodeGenCXX/PR5863-unreachable-block.cpp index 3f32d75704..c4d7471e4d 100644 --- a/test/CodeGenCXX/PR5863-unreachable-block.cpp +++ b/test/CodeGenCXX/PR5863-unreachable-block.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -emit-llvm-only %s +// RUN: %clang_cc1 -cxx-abi itanium -fcxx-exceptions -fexceptions -emit-llvm-only %s // PR5863 class E { }; diff --git a/test/CodeGenCXX/address-of-fntemplate.cpp b/test/CodeGenCXX/address-of-fntemplate.cpp index 71794520f0..e6a355a6e5 100644 --- a/test/CodeGenCXX/address-of-fntemplate.cpp +++ b/test/CodeGenCXX/address-of-fntemplate.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s template void f(T) {} template void f() { } diff --git a/test/CodeGenCXX/attr-cleanup.cpp b/test/CodeGenCXX/attr-cleanup.cpp index ff15b03de5..fe1167b8d8 100644 --- a/test/CodeGenCXX/attr-cleanup.cpp +++ b/test/CodeGenCXX/attr-cleanup.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s namespace N { void free(void *i) {} diff --git a/test/CodeGenCXX/attr-used.cpp b/test/CodeGenCXX/attr-used.cpp index 2c82184081..0852511ea5 100644 --- a/test/CodeGenCXX/attr-used.cpp +++ b/test/CodeGenCXX/attr-used.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s // : clang++ not respecting __attribute__((used)) on destructors struct X0 { diff --git a/test/CodeGenCXX/block-byref-cxx-objc.cpp b/test/CodeGenCXX/block-byref-cxx-objc.cpp index 616fd67ccc..2d9243e145 100644 --- a/test/CodeGenCXX/block-byref-cxx-objc.cpp +++ b/test/CodeGenCXX/block-byref-cxx-objc.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -fblocks | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - -fblocks | FileCheck %s // rdar://8594790 struct A { diff --git a/test/CodeGenCXX/block.cpp b/test/CodeGenCXX/block.cpp index 619d8b0c7b..93e22dcd6b 100644 --- a/test/CodeGenCXX/block.cpp +++ b/test/CodeGenCXX/block.cpp @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -fblocks +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - -fblocks +// RUN: %clang_cc1 %s -cxx-abi microsoft -fno-rtti -emit-llvm -o - -fblocks // Just test that this doesn't crash the compiler... void func(void*); diff --git a/test/CodeGenCXX/c-linkage.cpp b/test/CodeGenCXX/c-linkage.cpp index a7d018d58d..469652cec4 100644 --- a/test/CodeGenCXX/c-linkage.cpp +++ b/test/CodeGenCXX/c-linkage.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s // pr6644 extern "C" { diff --git a/test/CodeGenCXX/captured-statements.cpp b/test/CodeGenCXX/captured-statements.cpp index 2843c2b69c..8dc9b3d4c2 100644 --- a/test/CodeGenCXX/captured-statements.cpp +++ b/test/CodeGenCXX/captured-statements.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o %t +// RUN: %clang_cc1 -std=c++11 -cxx-abi itanium -emit-llvm %s -o %t // RUN: FileCheck %s -input-file=%t -check-prefix=CHECK-1 // RUN: FileCheck %s -input-file=%t -check-prefix=CHECK-2 // RUN: FileCheck %s -input-file=%t -check-prefix=CHECK-3 diff --git a/test/CodeGenCXX/const-base-cast.cpp b/test/CodeGenCXX/const-base-cast.cpp index 320c790c5e..fa856158e4 100644 --- a/test/CodeGenCXX/const-base-cast.cpp +++ b/test/CodeGenCXX/const-base-cast.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s // Check that the following construct, which is similar to one which occurs // in Firefox, is folded correctly. diff --git a/test/CodeGenCXX/const-global-linkage.cpp b/test/CodeGenCXX/const-global-linkage.cpp index df78fdd028..789ea71522 100644 --- a/test/CodeGenCXX/const-global-linkage.cpp +++ b/test/CodeGenCXX/const-global-linkage.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s const int x = 10; const int y = 20; diff --git a/test/CodeGenCXX/constructor-attr.cpp b/test/CodeGenCXX/constructor-attr.cpp index 4f6d635e95..77fc7c8cbd 100644 --- a/test/CodeGenCXX/constructor-attr.cpp +++ b/test/CodeGenCXX/constructor-attr.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s // CHECK: @llvm.global_ctors diff --git a/test/CodeGenCXX/constructor-direct-call.cpp b/test/CodeGenCXX/constructor-direct-call.cpp index 75e6f216ca..7a2a6000df 100644 --- a/test/CodeGenCXX/constructor-direct-call.cpp +++ b/test/CodeGenCXX/constructor-direct-call.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i686-pc-win32 -fms-extensions -Wmicrosoft %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -triple i686-pc-mingw32 -fms-extensions -Wmicrosoft %s -emit-llvm -o - | FileCheck %s class Test1 { public: @@ -22,10 +22,10 @@ public: void f2() { // CHECK: %var = alloca %class.Test2, align 4 - // CHECK-NEXT: call void @_ZN5Test2C1Ev(%class.Test2* %var) + // CHECK-NEXT: call x86_thiscallcc void @_ZN5Test2C1Ev(%class.Test2* %var) Test2 var; - // CHECK-NEXT: call void @_ZN5Test2C1Ev(%class.Test2* %var) + // CHECK-NEXT: call x86_thiscallcc void @_ZN5Test2C1Ev(%class.Test2* %var) var.Test2::Test2(); // CHECK: call void @llvm.memcpy.p0i8.p0i8.i32(i8* %{{.*}}, i8* %{{.*}}, i32 8, i32 4, i1 false) @@ -45,16 +45,16 @@ public: }; void f3() { - // CHECK: call void @_ZN5Test3C1Ev(%class.Test3* %var) + // CHECK: call x86_thiscallcc void @_ZN5Test3C1Ev(%class.Test3* %var) Test3 var; - // CHECK-NEXT: call void @_ZN5Test3C1Ev(%class.Test3* %var2) + // CHECK-NEXT: call x86_thiscallcc void @_ZN5Test3C1Ev(%class.Test3* %var2) Test3 var2; - // CHECK-NEXT: call void @_ZN5Test3C1Ev(%class.Test3* %var) + // CHECK-NEXT: call x86_thiscallcc void @_ZN5Test3C1Ev(%class.Test3* %var) var.Test3::Test3(); - // CHECK-NEXT: call void @_ZN5Test3C1ERKS_(%class.Test3* %var, %class.Test3* %var2) + // CHECK-NEXT: call x86_thiscallcc void @_ZN5Test3C1ERKS_(%class.Test3* %var, %class.Test3* %var2) var.Test3::Test3(var2); } diff --git a/test/CodeGenCXX/constructor-init-reference.cpp b/test/CodeGenCXX/constructor-init-reference.cpp index 5e75159765..e16cbb3fa6 100644 --- a/test/CodeGenCXX/constructor-init-reference.cpp +++ b/test/CodeGenCXX/constructor-init-reference.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | grep "store i32\* @x, i32\*\*" +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s int x; struct A { @@ -6,4 +6,4 @@ struct A { A() : y(x) {} }; A z; - +// CHECK: store i32* @x, i32** diff --git a/test/CodeGenCXX/copy-assign-synthesis-2.cpp b/test/CodeGenCXX/copy-assign-synthesis-2.cpp index 3829f383dd..e0bd5ef34b 100644 --- a/test/CodeGenCXX/copy-assign-synthesis-2.cpp +++ b/test/CodeGenCXX/copy-assign-synthesis-2.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s struct A {}; A& (A::*x)(const A&) = &A::operator=; // CHECK-LABEL: define linkonce_odr {{.*}}%struct.A* @_ZN1AaSERKS_ diff --git a/test/CodeGenCXX/copy-constructor-synthesis-2.cpp b/test/CodeGenCXX/copy-constructor-synthesis-2.cpp index 03c6633994..e73a7f17f0 100644 --- a/test/CodeGenCXX/copy-constructor-synthesis-2.cpp +++ b/test/CodeGenCXX/copy-constructor-synthesis-2.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s struct A { virtual void a(); }; A x(A& y) { return y; } diff --git a/test/CodeGenCXX/coverage.cpp b/test/CodeGenCXX/coverage.cpp index 1f1611bd8f..b00f25bc1d 100644 --- a/test/CodeGenCXX/coverage.cpp +++ b/test/CodeGenCXX/coverage.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -test-coverage -femit-coverage-notes | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - -test-coverage -femit-coverage-notes | FileCheck %s extern "C" void test_name1() {} void test_name2() {} diff --git a/test/CodeGenCXX/cxx0x-defaulted-templates.cpp b/test/CodeGenCXX/cxx0x-defaulted-templates.cpp index 92fbfff8ab..e906b2494f 100644 --- a/test/CodeGenCXX/cxx0x-defaulted-templates.cpp +++ b/test/CodeGenCXX/cxx0x-defaulted-templates.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s template struct X { diff --git a/test/CodeGenCXX/cxx11-noreturn.cpp b/test/CodeGenCXX/cxx11-noreturn.cpp index 31c651d75e..527a8ae19a 100644 --- a/test/CodeGenCXX/cxx11-noreturn.cpp +++ b/test/CodeGenCXX/cxx11-noreturn.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -std=c++11 %s -o - | FileCheck %s int g(); diff --git a/test/CodeGenCXX/cxx11-unrestricted-union.cpp b/test/CodeGenCXX/cxx11-unrestricted-union.cpp index 0397775b7e..165d2862c1 100644 --- a/test/CodeGenCXX/cxx11-unrestricted-union.cpp +++ b/test/CodeGenCXX/cxx11-unrestricted-union.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -std=c++11 -emit-llvm %s -o - | FileCheck %s struct A { A(); A(const A&); A(A&&); A &operator=(const A&); A &operator=(A&&); ~A(); diff --git a/test/CodeGenCXX/debug-info-char16.cpp b/test/CodeGenCXX/debug-info-char16.cpp index 06a05b31dd..78da4c8302 100644 --- a/test/CodeGenCXX/debug-info-char16.cpp +++ b/test/CodeGenCXX/debug-info-char16.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -std=c++11 -g %s -o -| FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -std=c++11 -g %s -o -| FileCheck %s // 16 is DW_ATE_UTF (0x10) encoding attribute. char16_t char_a = u'h'; diff --git a/test/CodeGenCXX/debug-info-enum.cpp b/test/CodeGenCXX/debug-info-enum.cpp index f0e2608db8..f1beb8d688 100644 --- a/test/CodeGenCXX/debug-info-enum.cpp +++ b/test/CodeGenCXX/debug-info-enum.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -g %s -o - | FileCheck %s // CHECK: [[ENUMS:![0-9]*]], {{[^,]*}}, {{[^,]*}}, {{[^,]*}}, {{[^,]*}}, {{[^,]*}}} ; [ DW_TAG_compile_unit ] // CHECK: [[ENUMS]] = metadata !{metadata [[E1:![0-9]*]], metadata [[E2:![0-9]*]], metadata [[E3:![0-9]*]]} diff --git a/test/CodeGenCXX/debug-info-gline-tables-only.cpp b/test/CodeGenCXX/debug-info-gline-tables-only.cpp index 7ecdeb2ec2..b766c73cc2 100644 --- a/test/CodeGenCXX/debug-info-gline-tables-only.cpp +++ b/test/CodeGenCXX/debug-info-gline-tables-only.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -gline-tables-only -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -fno-rtti -gline-tables-only -S -emit-llvm -o - | FileCheck %s // Checks that clang with "-gline-tables-only" doesn't emit debug info // for variables and types. diff --git a/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp b/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp index afa77077a2..a4ef046fc1 100644 --- a/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp +++ b/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 %s -g -fno-use-cxa-atexit -S -emit-llvm -o - \ +// RUN: %clang_cc1 %s -g -cxx-abi itanium -fno-use-cxa-atexit -S -emit-llvm -o - \ // RUN: | FileCheck %s --check-prefix=CHECK-NOKEXT -// RUN: %clang_cc1 %s -g -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \ +// RUN: %clang_cc1 %s -g -cxx-abi itanium -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \ // RUN: | FileCheck %s --check-prefix=CHECK-KEXT class A { diff --git a/test/CodeGenCXX/debug-info-method.cpp b/test/CodeGenCXX/debug-info-method.cpp index 50b3f66354..00e9575022 100644 --- a/test/CodeGenCXX/debug-info-method.cpp +++ b/test/CodeGenCXX/debug-info-method.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -std=c++11 -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -std=c++11 -g %s -o - | FileCheck %s // CHECK: metadata !"_ZTS1A"} ; [ DW_TAG_class_type ] [A] // CHECK: metadata !"_ZN1A3fooEiS_3$_0", {{.*}} [protected] // CHECK: ![[THISTYPE:[0-9]+]] = {{.*}} ; [ DW_TAG_pointer_type ] {{.*}} [artificial] [from _ZTS1A] diff --git a/test/CodeGenCXX/debug-info-same-line.cpp b/test/CodeGenCXX/debug-info-same-line.cpp index 519e9eeb87..e1511f31e4 100644 --- a/test/CodeGenCXX/debug-info-same-line.cpp +++ b/test/CodeGenCXX/debug-info-same-line.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -g -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s // Make sure that clang outputs distinct debug info for a function // that is inlined twice on the same line. Otherwise it would appear diff --git a/test/CodeGenCXX/debug-info-template-limit.cpp b/test/CodeGenCXX/debug-info-template-limit.cpp index c3e241ecc8..34e4373a75 100644 --- a/test/CodeGenCXX/debug-info-template-limit.cpp +++ b/test/CodeGenCXX/debug-info-template-limit.cpp @@ -1,4 +1,4 @@ -// RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -flimit-debug-info -cxx-abi itanium -g %s -o - | FileCheck %s // Check that this pointer type is TC // CHECK: ![[LINE:[0-9]+]] = {{.*}}"TC", {{.*}} metadata !"_ZTS2TCIiE"} ; [ DW_TAG_class_type ] diff --git a/test/CodeGenCXX/debug-info-thunk.cpp b/test/CodeGenCXX/debug-info-thunk.cpp index 2a50895725..e67e23732b 100644 --- a/test/CodeGenCXX/debug-info-thunk.cpp +++ b/test/CodeGenCXX/debug-info-thunk.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -g -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -g -S -emit-llvm -o - | FileCheck %s struct A { virtual void f(); diff --git a/test/CodeGenCXX/debug-info-use-after-free.cpp b/test/CodeGenCXX/debug-info-use-after-free.cpp index 852e148956..02825a2608 100644 --- a/test/CodeGenCXX/debug-info-use-after-free.cpp +++ b/test/CodeGenCXX/debug-info-use-after-free.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm-only %s +// RUN: %clang_cc1 -g -cxx-abi itanium -emit-llvm-only %s // Check that we don't crash. // PR12305, PR12315 diff --git a/test/CodeGenCXX/default-constructor-default-argument.cpp b/test/CodeGenCXX/default-constructor-default-argument.cpp index 374a967e3e..aa4f1737a1 100644 --- a/test/CodeGenCXX/default-constructor-default-argument.cpp +++ b/test/CodeGenCXX/default-constructor-default-argument.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s // Check that call to constructor for struct A is generated correctly. struct A { A(int x = 2); }; diff --git a/test/CodeGenCXX/default-constructor-template-member.cpp b/test/CodeGenCXX/default-constructor-template-member.cpp index 215696405a..22b5a1e986 100644 --- a/test/CodeGenCXX/default-constructor-template-member.cpp +++ b/test/CodeGenCXX/default-constructor-template-member.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s template struct A { A(); }; struct B { A x; }; diff --git a/test/CodeGenCXX/default-destructor-nested.cpp b/test/CodeGenCXX/default-destructor-nested.cpp index 565a7279c5..2afa9cf391 100644 --- a/test/CodeGenCXX/default-destructor-nested.cpp +++ b/test/CodeGenCXX/default-destructor-nested.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm-only +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm-only // PR6294 class A { diff --git a/test/CodeGenCXX/deferred-global-init.cpp b/test/CodeGenCXX/deferred-global-init.cpp index deb458f55c..644f4ca9cf 100644 --- a/test/CodeGenCXX/deferred-global-init.cpp +++ b/test/CodeGenCXX/deferred-global-init.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s // PR5967 extern void* foo; diff --git a/test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp b/test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp index f2ecfc1d38..8df53e43a3 100644 --- a/test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp +++ b/test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s struct A { int i; }; struct B { char j; }; diff --git a/test/CodeGenCXX/destructor-exception-spec.cpp b/test/CodeGenCXX/destructor-exception-spec.cpp index e111ba0ba8..aa29d58d60 100644 --- a/test/CodeGenCXX/destructor-exception-spec.cpp +++ b/test/CodeGenCXX/destructor-exception-spec.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm-only %s -std=c++11 -// RUN: %clang_cc1 -emit-llvm-only -fno-use-cxa-atexit %s -std=c++11 +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm-only %s -std=c++11 +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm-only -fno-use-cxa-atexit %s -std=c++11 // RUN: %clang_cc1 -cxx-abi microsoft -fno-rtti -emit-llvm-only %s -std=c++11 // PR13479: don't crash with -fno-exceptions. diff --git a/test/CodeGenCXX/duplicate-mangled-name.cpp b/test/CodeGenCXX/duplicate-mangled-name.cpp index 892050c668..b8f0fb09ea 100644 --- a/test/CodeGenCXX/duplicate-mangled-name.cpp +++ b/test/CodeGenCXX/duplicate-mangled-name.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm-only %s -verify +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm-only %s -verify // rdar://15522601 class MyClass { diff --git a/test/CodeGenCXX/dynamic_cast-no-rtti.cpp b/test/CodeGenCXX/dynamic_cast-no-rtti.cpp index 0e26de5bcf..16d746a5c1 100644 --- a/test/CodeGenCXX/dynamic_cast-no-rtti.cpp +++ b/test/CodeGenCXX/dynamic_cast-no-rtti.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -verify -fno-rtti -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm %s -verify -fno-rtti -cxx-abi itanium -o - | FileCheck %s // expected-no-diagnostics struct A { diff --git a/test/CodeGenCXX/elide-call-reference.cpp b/test/CodeGenCXX/elide-call-reference.cpp index 55d30e24c1..c80e8fbfdf 100644 --- a/test/CodeGenCXX/elide-call-reference.cpp +++ b/test/CodeGenCXX/elide-call-reference.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // PR5695 struct A { A(const A&); ~A(); }; diff --git a/test/CodeGenCXX/extern-c.cpp b/test/CodeGenCXX/extern-c.cpp index 5899b9348c..f3522e869d 100644 --- a/test/CodeGenCXX/extern-c.cpp +++ b/test/CodeGenCXX/extern-c.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s namespace foo { // CHECK-NOT: @a = global i32 diff --git a/test/CodeGenCXX/function-template-explicit-specialization.cpp b/test/CodeGenCXX/function-template-explicit-specialization.cpp index 5d26dcd61c..b471917deb 100644 --- a/test/CodeGenCXX/function-template-explicit-specialization.cpp +++ b/test/CodeGenCXX/function-template-explicit-specialization.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium %s -o - | FileCheck %s template void a(T); template<> void a(int) {} diff --git a/test/CodeGenCXX/function-template-specialization.cpp b/test/CodeGenCXX/function-template-specialization.cpp index 4a79fb1d67..4ee9124590 100644 --- a/test/CodeGenCXX/function-template-specialization.cpp +++ b/test/CodeGenCXX/function-template-specialization.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium %s -o - | FileCheck %s template T* next(T* ptr, const U& diff); diff --git a/test/CodeGenCXX/global-llvm-constant.cpp b/test/CodeGenCXX/global-llvm-constant.cpp index 2bd43b99a5..6e202a7e08 100644 --- a/test/CodeGenCXX/global-llvm-constant.cpp +++ b/test/CodeGenCXX/global-llvm-constant.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s struct A { A() { x = 10; } diff --git a/test/CodeGenCXX/implicit-instantiation-1.cpp b/test/CodeGenCXX/implicit-instantiation-1.cpp index bf6a141508..8c6f080977 100644 --- a/test/CodeGenCXX/implicit-instantiation-1.cpp +++ b/test/CodeGenCXX/implicit-instantiation-1.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o %t +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium %s -o %t template struct X { diff --git a/test/CodeGenCXX/instrument-functions.cpp b/test/CodeGenCXX/instrument-functions.cpp index 253e096108..664b2dc08f 100644 --- a/test/CodeGenCXX/instrument-functions.cpp +++ b/test/CodeGenCXX/instrument-functions.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -S -emit-llvm -o - %s -finstrument-functions | FileCheck %s +// RUN: %clang_cc1 -S -emit-llvm -cxx-abi itanium -o - %s -finstrument-functions | FileCheck %s // CHECK: @_Z5test1i int test1(int x) { diff --git a/test/CodeGenCXX/internal-linkage.cpp b/test/CodeGenCXX/internal-linkage.cpp index 56cb810309..927e89e9c6 100644 --- a/test/CodeGenCXX/internal-linkage.cpp +++ b/test/CodeGenCXX/internal-linkage.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s struct Global { Global(); }; template struct X { X() {} }; diff --git a/test/CodeGenCXX/mangle-abi-examples.cpp b/test/CodeGenCXX/mangle-abi-examples.cpp index 7124078320..4d22f16254 100644 --- a/test/CodeGenCXX/mangle-abi-examples.cpp +++ b/test/CodeGenCXX/mangle-abi-examples.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // CHECK: @_ZTVZ3foovEN1C1DE = // CHECK: @_ZTVZN1A3fooEiE1B = diff --git a/test/CodeGenCXX/mangle-address-space.cpp b/test/CodeGenCXX/mangle-address-space.cpp index 4a4a1f3f56..466a3b07dd 100644 --- a/test/CodeGenCXX/mangle-address-space.cpp +++ b/test/CodeGenCXX/mangle-address-space.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s // CHECK-LABEL: define void @_Z2f0Pc void f0(char *p) { } diff --git a/test/CodeGenCXX/mangle-local-class-names.cpp b/test/CodeGenCXX/mangle-local-class-names.cpp index 8b950fcd17..2055d0a443 100644 --- a/test/CodeGenCXX/mangle-local-class-names.cpp +++ b/test/CodeGenCXX/mangle-local-class-names.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // CHECK: @_ZZ4FUNCvEN4SSSSC1ERKf // CHECK: @_ZZ4FUNCvEN4SSSSC2E_0RKf diff --git a/test/CodeGenCXX/mangle-local-class-vtables.cpp b/test/CodeGenCXX/mangle-local-class-vtables.cpp index d9d3afe459..7ddad5d165 100644 --- a/test/CodeGenCXX/mangle-local-class-vtables.cpp +++ b/test/CodeGenCXX/mangle-local-class-vtables.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // CHECK: @_ZTVZN1J1KEvE1C = {{.*}} @_ZTIZN1J1KEvE1C {{.*}} @_ZZN1J1KEvENK1C1FEv // CHECK: @_ZTIZN1J1KEvE1C = {{.*}} @_ZTSZN1J1KEvE1C diff --git a/test/CodeGenCXX/mangle-local-classes-nested.cpp b/test/CodeGenCXX/mangle-local-classes-nested.cpp index fafa5d4e58..fb30562008 100644 --- a/test/CodeGenCXX/mangle-local-classes-nested.cpp +++ b/test/CodeGenCXX/mangle-local-classes-nested.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // CHECK: @_ZTVZZ1HvEN1S1IEvE1S = diff --git a/test/CodeGenCXX/mangle-nullptr-arg.cpp b/test/CodeGenCXX/mangle-nullptr-arg.cpp index b55ea6dd2d..c3f4501f81 100644 --- a/test/CodeGenCXX/mangle-nullptr-arg.cpp +++ b/test/CodeGenCXX/mangle-nullptr-arg.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s template struct IP {}; diff --git a/test/CodeGenCXX/mangle-std-externc.cpp b/test/CodeGenCXX/mangle-std-externc.cpp index a478dee4a4..09a2533cb0 100644 --- a/test/CodeGenCXX/mangle-std-externc.cpp +++ b/test/CodeGenCXX/mangle-std-externc.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 %s -DNS=std -emit-llvm -o - | FileCheck %s --check-prefix=CHECK-STD -// RUN: %clang_cc1 %s -DNS=n -emit-llvm -o - | FileCheck %s --check-prefix=CHECK-N +// RUN: %clang_cc1 %s -DNS=std -emit-llvm -cxx-abi itanium -o - | FileCheck %s --check-prefix=CHECK-STD +// RUN: %clang_cc1 %s -DNS=n -emit-llvm -cxx-abi itanium -o - | FileCheck %s --check-prefix=CHECK-N // _ZNSt1DISt1CE1iE = std::D::i // CHECK-STD: @_ZNSt1DISt1CE1iE = diff --git a/test/CodeGenCXX/mangle-template.cpp b/test/CodeGenCXX/mangle-template.cpp index 9bd74b54a5..0c29a254bf 100644 --- a/test/CodeGenCXX/mangle-template.cpp +++ b/test/CodeGenCXX/mangle-template.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s namespace test1 { int x; template class T { }; diff --git a/test/CodeGenCXX/member-alignment.cpp b/test/CodeGenCXX/member-alignment.cpp index 78026d4e04..ba853c32d5 100644 --- a/test/CodeGenCXX/member-alignment.cpp +++ b/test/CodeGenCXX/member-alignment.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium %s -o - | FileCheck %s // rdar://7268289 diff --git a/test/CodeGenCXX/microsoft-interface.cpp b/test/CodeGenCXX/microsoft-interface.cpp index 419075a863..98df69cf20 100644 --- a/test/CodeGenCXX/microsoft-interface.cpp +++ b/test/CodeGenCXX/microsoft-interface.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -fms-extensions -Wno-microsoft -triple=i386-pc-win32 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -fms-extensions -Wno-microsoft -triple=i386-pc-mingw32 -emit-llvm %s -o - | FileCheck %s __interface I { int test() { @@ -20,23 +20,23 @@ int fn() { // CHECK: @_ZTV1S = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTI1S to i8*), i8* bitcast (i32 (%struct.S*)* @_ZN1S4testEv to i8*)] // CHECK-LABEL: define i32 @_Z2fnv() -// CHECK: call void @_ZN1SC1Ev(%struct.S* %s) -// CHECK: %{{[.0-9A-Z_a-z]+}} = call i32 @_ZN1S4testEv(%struct.S* %s) +// CHECK: call x86_thiscallcc void @_ZN1SC1Ev(%struct.S* %s) +// CHECK: %{{[.0-9A-Z_a-z]+}} = call x86_thiscallcc i32 @_ZN1S4testEv(%struct.S* %s) -// CHECK-LABEL: define linkonce_odr void @_ZN1SC1Ev(%struct.S* %this) -// CHECK: call void @_ZN1SC2Ev(%struct.S* %{{[.0-9A-Z_a-z]+}}) +// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @_ZN1SC1Ev(%struct.S* %this) +// CHECK: call x86_thiscallcc void @_ZN1SC2Ev(%struct.S* %{{[.0-9A-Z_a-z]+}}) -// CHECK-LABEL: define linkonce_odr i32 @_ZN1S4testEv(%struct.S* %this) -// CHECK: %{{[.0-9A-Z_a-z]+}} = call i32 @_ZN1I4testEv(%__interface.I* %{{[.0-9A-Z_a-z]+}}) +// CHECK-LABEL: define linkonce_odr x86_thiscallcc i32 @_ZN1S4testEv(%struct.S* %this) +// CHECK: %{{[.0-9A-Z_a-z]+}} = call x86_thiscallcc i32 @_ZN1I4testEv(%__interface.I* %{{[.0-9A-Z_a-z]+}}) -// CHECK-LABEL: define linkonce_odr i32 @_ZN1I4testEv(%__interface.I* %this) +// CHECK-LABEL: define linkonce_odr x86_thiscallcc i32 @_ZN1I4testEv(%__interface.I* %this) // CHECK: ret i32 1 -// CHECK-LABEL: define linkonce_odr void @_ZN1SC2Ev(%struct.S* %this) -// CHECK: call void @_ZN1IC2Ev(%__interface.I* %{{[.0-9A-Z_a-z]+}}) +// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @_ZN1SC2Ev(%struct.S* %this) +// CHECK: call x86_thiscallcc void @_ZN1IC2Ev(%__interface.I* %{{[.0-9A-Z_a-z]+}}) // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1S, i64 0, i64 2), i8*** %{{[.0-9A-Z_a-z]+}} -// CHECK-LABEL: define linkonce_odr void @_ZN1IC2Ev(%__interface.I* %this) +// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @_ZN1IC2Ev(%__interface.I* %this) // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1I, i64 0, i64 2), i8*** %{{[.0-9A-Z_a-z]+}} // CHECK-NOT-LABEL: define linkonce_odr %__interface.I* @_ZN1IaSERKS_(%__interface.I* %this, %__interface.I*) diff --git a/test/CodeGenCXX/microsoft-new.cpp b/test/CodeGenCXX/microsoft-new.cpp index 48e93d4aa0..784de7b53d 100644 --- a/test/CodeGenCXX/microsoft-new.cpp +++ b/test/CodeGenCXX/microsoft-new.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i686-pc-win32 -fms-compatibility %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -triple i686-pc-win32 -cxx-abi itanium -fms-compatibility %s -emit-llvm -o - | FileCheck %s #include diff --git a/test/CodeGenCXX/microsoft-uuidof.cpp b/test/CodeGenCXX/microsoft-uuidof.cpp index ab3d9b64c6..0ce30035f9 100644 --- a/test/CodeGenCXX/microsoft-uuidof.cpp +++ b/test/CodeGenCXX/microsoft-uuidof.cpp @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - -DDEFINE_GUID -triple=i386-pc-win32 -fms-extensions | FileCheck %s --check-prefix=CHECK-DEFINE-GUID -// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-pc-win32 -fms-extensions | FileCheck %s -// RUN: %clang_cc1 -emit-llvm %s -o - -DDEFINE_GUID -DWRONG_GUID -triple=i386-pc-win32 -fms-extensions | FileCheck %s --check-prefix=CHECK-DEFINE-WRONG-GUID +// RUN: %clang_cc1 -emit-llvm %s -o - -DDEFINE_GUID -triple=i386-pc-win32 -fms-extensions -cxx-abi itanium | FileCheck %s --check-prefix=CHECK-DEFINE-GUID +// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-pc-win32 -fms-extensions -cxx-abi itanium | FileCheck %s +// RUN: %clang_cc1 -emit-llvm %s -o - -DDEFINE_GUID -DWRONG_GUID -triple=i386-pc-win32 -fms-extensions -cxx-abi itanium | FileCheck %s --check-prefix=CHECK-DEFINE-WRONG-GUID #ifdef DEFINE_GUID struct _GUID { diff --git a/test/CodeGenCXX/ms_wide_predefined_expr.cpp b/test/CodeGenCXX/ms_wide_predefined_expr.cpp index 5f0bcdee8c..f92486d6d3 100644 --- a/test/CodeGenCXX/ms_wide_predefined_expr.cpp +++ b/test/CodeGenCXX/ms_wide_predefined_expr.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -fms-extensions -triple i686-pc-win32 -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -fms-extensions -triple i686-pc-win32 -cxx-abi itanium -emit-llvm -o - | FileCheck %s // CHECK: @L__FUNCTION__._Z4funcv = private constant [5 x i16] [i16 102, i16 117, i16 110, i16 99, i16 0], align 2 diff --git a/test/CodeGenCXX/noinline-template.cpp b/test/CodeGenCXX/noinline-template.cpp index c7b5476586..8efecec62e 100644 --- a/test/CodeGenCXX/noinline-template.cpp +++ b/test/CodeGenCXX/noinline-template.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // This was a problem in Sema, but only shows up as noinline missing // in CodeGen. diff --git a/test/CodeGenCXX/pr11797.cpp b/test/CodeGenCXX/pr11797.cpp index 1098372ce3..80e1b07291 100644 --- a/test/CodeGenCXX/pr11797.cpp +++ b/test/CodeGenCXX/pr11797.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -fvisibility hidden -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -fvisibility hidden -cxx-abi itanium -emit-llvm -o - | FileCheck %s namespace std __attribute__ ((__visibility__ ("default"))) {} #pragma GCC visibility push(default) diff --git a/test/CodeGenCXX/pr12104.cpp b/test/CodeGenCXX/pr12104.cpp index a62f04b668..be17f2f39f 100644 --- a/test/CodeGenCXX/pr12104.cpp +++ b/test/CodeGenCXX/pr12104.cpp @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -include %S/pr12104.h %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -x c++ -emit-pch -o %t %S/pr12104.h -// RUN: %clang_cc1 -include-pch %t %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -include %S/pr12104.h %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -x c++ -cxx-abi itanium -emit-pch -o %t %S/pr12104.h +// RUN: %clang_cc1 -include-pch %t %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s template struct Patch<1>; diff --git a/test/CodeGenCXX/pr9965.cpp b/test/CodeGenCXX/pr9965.cpp index c2d54e1921..fe2cd71381 100644 --- a/test/CodeGenCXX/pr9965.cpp +++ b/test/CodeGenCXX/pr9965.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s struct A { A(); }; template struct X : A // default constructor is not trivial diff --git a/test/CodeGenCXX/pragma-weak.cpp b/test/CodeGenCXX/pragma-weak.cpp index b12afb2075..9d7d489499 100644 --- a/test/CodeGenCXX/pragma-weak.cpp +++ b/test/CodeGenCXX/pragma-weak.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s #pragma weak zex int zex; diff --git a/test/CodeGenCXX/predefined-expr.cpp b/test/CodeGenCXX/predefined-expr.cpp index 9062ee095c..912b555acf 100644 --- a/test/CodeGenCXX/predefined-expr.cpp +++ b/test/CodeGenCXX/predefined-expr.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -std=c++11 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s // CHECK: private unnamed_addr constant [15 x i8] c"externFunction\00" // CHECK: private unnamed_addr constant [26 x i8] c"void NS::externFunction()\00" diff --git a/test/CodeGenCXX/reference-field.cpp b/test/CodeGenCXX/reference-field.cpp index 0312029259..aa34fa3bd2 100644 --- a/test/CodeGenCXX/reference-field.cpp +++ b/test/CodeGenCXX/reference-field.cpp @@ -1,6 +1,8 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s -O2 | grep "@_Z1bv" +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s -O2 | FileCheck %s // Make sure the call to b() doesn't get optimized out. extern struct x {char& x,y;}y; int b(); int a() { if (!&y.x) b(); } + +// CHECK: @_Z1bv diff --git a/test/CodeGenCXX/reference-init.cpp b/test/CodeGenCXX/reference-init.cpp index d47b1f3748..2c14934dca 100644 --- a/test/CodeGenCXX/reference-init.cpp +++ b/test/CodeGenCXX/reference-init.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm-only -verify %s +// RUN: %clang_cc1 -emit-llvm-only -cxx-abi itanium -verify %s // expected-no-diagnostics struct XPTParamDescriptor {}; diff --git a/test/CodeGenCXX/return.cpp b/test/CodeGenCXX/return.cpp index 1975055fdb..afc52a631a 100644 --- a/test/CodeGenCXX/return.cpp +++ b/test/CodeGenCXX/return.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s -// RUN: %clang_cc1 -emit-llvm -O -o - %s | FileCheck %s --check-prefix=CHECK-OPT +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -cxx-abi itanium -O -o - %s | FileCheck %s --check-prefix=CHECK-OPT // CHECK: @_Z9no_return // CHECK-OPT: @_Z9no_return diff --git a/test/CodeGenCXX/scoped-enums.cpp b/test/CodeGenCXX/scoped-enums.cpp index 159172d166..19513867e6 100644 --- a/test/CodeGenCXX/scoped-enums.cpp +++ b/test/CodeGenCXX/scoped-enums.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s // PR9923 enum class Color { red, blue, green }; diff --git a/test/CodeGenCXX/specialized-static-data-mem-init.cpp b/test/CodeGenCXX/specialized-static-data-mem-init.cpp index c2a2ddb112..e6bd6e742f 100644 --- a/test/CodeGenCXX/specialized-static-data-mem-init.cpp +++ b/test/CodeGenCXX/specialized-static-data-mem-init.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // rdar: // 8562966 // pr8409 diff --git a/test/CodeGenCXX/stmtexpr.cpp b/test/CodeGenCXX/stmtexpr.cpp index 5d4d6bcce4..af39440a74 100644 --- a/test/CodeGenCXX/stmtexpr.cpp +++ b/test/CodeGenCXX/stmtexpr.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -Wno-unused-value -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -Wno-unused-value -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s // rdar: //8540501 extern "C" int printf(...); extern "C" void abort(); diff --git a/test/CodeGenCXX/template-dependent-bind-temporary.cpp b/test/CodeGenCXX/template-dependent-bind-temporary.cpp index ca980c3ff6..3f70d8d9a0 100644 --- a/test/CodeGenCXX/template-dependent-bind-temporary.cpp +++ b/test/CodeGenCXX/template-dependent-bind-temporary.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // rdar: //8620524 // PR7851 struct string { diff --git a/test/CodeGenCXX/template-inner-struct-visibility-hidden.cpp b/test/CodeGenCXX/template-inner-struct-visibility-hidden.cpp index 53e6db6371..2069ea1315 100644 --- a/test/CodeGenCXX/template-inner-struct-visibility-hidden.cpp +++ b/test/CodeGenCXX/template-inner-struct-visibility-hidden.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fvisibility hidden -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -fvisibility hidden -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s // Verify that symbols are hidden. // CHECK: @_ZN1CIiE5Inner6Inner26StaticE = weak_odr hidden global diff --git a/test/CodeGenCXX/throw-expression-dtor.cpp b/test/CodeGenCXX/throw-expression-dtor.cpp index cb4a6c69bd..6e0cf48507 100644 --- a/test/CodeGenCXX/throw-expression-dtor.cpp +++ b/test/CodeGenCXX/throw-expression-dtor.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm-only -verify -fcxx-exceptions -fexceptions +// RUN: %clang_cc1 %s -emit-llvm-only -verify -cxx-abi itanium -fcxx-exceptions -fexceptions // expected-no-diagnostics // PR7281 diff --git a/test/CodeGenCXX/thunk-use-after-free.cpp b/test/CodeGenCXX/thunk-use-after-free.cpp index d70e902568..a74b1d528a 100644 --- a/test/CodeGenCXX/thunk-use-after-free.cpp +++ b/test/CodeGenCXX/thunk-use-after-free.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm-only -O1 %s +// RUN: %clang_cc1 -emit-llvm-only -cxx-abi itanium -O1 %s // This used to crash under asan and valgrind. // PR12284 diff --git a/test/CodeGenCXX/trivial-constructor-init.cpp b/test/CodeGenCXX/trivial-constructor-init.cpp index 65ed45e259..bfbec0baa6 100644 --- a/test/CodeGenCXX/trivial-constructor-init.cpp +++ b/test/CodeGenCXX/trivial-constructor-init.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - -std=c++11 | FileCheck %s +// RUN: %clang_cc1 -emit-llvm %s -o - -std=c++11 -cxx-abi itanium | FileCheck %s extern "C" int printf(...); diff --git a/test/CodeGenCXX/vararg-non-pod.cpp b/test/CodeGenCXX/vararg-non-pod.cpp index 9497179ddf..12a0adade5 100644 --- a/test/CodeGenCXX/vararg-non-pod.cpp +++ b/test/CodeGenCXX/vararg-non-pod.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -Wno-error=non-pod-varargs -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -Wno-error=non-pod-varargs -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s struct X { X(); diff --git a/test/CodeGenCXX/virt-dtor-gen.cpp b/test/CodeGenCXX/virt-dtor-gen.cpp index b3041a58a9..706f23cf0a 100644 --- a/test/CodeGenCXX/virt-dtor-gen.cpp +++ b/test/CodeGenCXX/virt-dtor-gen.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -o - -emit-llvm %s | FileCheck %s +// RUN: %clang_cc1 -o - -cxx-abi itanium -emit-llvm %s | FileCheck %s // PR5483 // Make sure we generate all three forms of the destructor when it is virtual. diff --git a/test/CodeGenCXX/virt-dtor-key.cpp b/test/CodeGenCXX/virt-dtor-key.cpp index a8fa371d3f..aa119ec057 100644 --- a/test/CodeGenCXX/virt-dtor-key.cpp +++ b/test/CodeGenCXX/virt-dtor-key.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s // CHECK: @_ZTI3foo = unnamed_addr constant class foo { foo(); diff --git a/test/CodeGenCXX/virt-template-vtable.cpp b/test/CodeGenCXX/virt-template-vtable.cpp index a6067d62c6..16c23aad39 100644 --- a/test/CodeGenCXX/virt-template-vtable.cpp +++ b/test/CodeGenCXX/virt-template-vtable.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s template class A { public: diff --git a/test/CodeGenCXX/virtual-base-ctor.cpp b/test/CodeGenCXX/virtual-base-ctor.cpp index 2d81ebd3a4..28b4e4005a 100644 --- a/test/CodeGenCXX/virtual-base-ctor.cpp +++ b/test/CodeGenCXX/virtual-base-ctor.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -O2 | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - -O2 | FileCheck %s struct B; extern B x; diff --git a/test/CodeGenCXX/virtual-base-destructor-call.cpp b/test/CodeGenCXX/virtual-base-destructor-call.cpp index 5014eaf264..6b98c64d53 100644 --- a/test/CodeGenCXX/virtual-base-destructor-call.cpp +++ b/test/CodeGenCXX/virtual-base-destructor-call.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s struct basic_ios{~basic_ios(); }; diff --git a/test/CodeGenCXX/virtual-destructor-synthesis.cpp b/test/CodeGenCXX/virtual-destructor-synthesis.cpp index 90f66a817d..f513ddfa95 100644 --- a/test/CodeGenCXX/virtual-destructor-synthesis.cpp +++ b/test/CodeGenCXX/virtual-destructor-synthesis.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s struct box { virtual ~box(); diff --git a/test/CodeGenCXX/virtual-function-calls.cpp b/test/CodeGenCXX/virtual-function-calls.cpp index 111d1a2193..b3e2d1f0d1 100644 --- a/test/CodeGenCXX/virtual-function-calls.cpp +++ b/test/CodeGenCXX/virtual-function-calls.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -std=c++11 -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -std=c++11 -emit-llvm -o - | FileCheck %s // PR5021 namespace PR5021 { diff --git a/test/CodeGenCXX/virtual-implicit-copy-assignment.cpp b/test/CodeGenCXX/virtual-implicit-copy-assignment.cpp index 70bc6fceb3..6941a7723a 100644 --- a/test/CodeGenCXX/virtual-implicit-copy-assignment.cpp +++ b/test/CodeGenCXX/virtual-implicit-copy-assignment.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -o - %s | FileCheck %s struct D; struct B { diff --git a/test/CodeGenCXX/virtual-implicit-move-assignment.cpp b/test/CodeGenCXX/virtual-implicit-move-assignment.cpp index d8ac1ed4c4..b8ecb406dd 100644 --- a/test/CodeGenCXX/virtual-implicit-move-assignment.cpp +++ b/test/CodeGenCXX/virtual-implicit-move-assignment.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -std=c++11 -o - %s | FileCheck %s +// RUN: %clang_cc1 -cxx-abi itanium -emit-llvm -std=c++11 -o - %s | FileCheck %s struct D; struct B { diff --git a/test/CodeGenCXX/virtual-inherited-destructor.cpp b/test/CodeGenCXX/virtual-inherited-destructor.cpp index 509d40ae2f..f36e56c68d 100644 --- a/test/CodeGenCXX/virtual-inherited-destructor.cpp +++ b/test/CodeGenCXX/virtual-inherited-destructor.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm-only +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm-only struct A { virtual ~A(); }; struct B : A { diff --git a/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp b/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp index 0d3574e46d..0d963f9f80 100644 --- a/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp +++ b/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -cxx-abi itanium -emit-llvm -o - | FileCheck %s struct A { virtual ~A(); diff --git a/test/CodeGenCXX/visibility-hidden-extern-templates.cpp b/test/CodeGenCXX/visibility-hidden-extern-templates.cpp index 2cbfba9d5f..8061412194 100644 --- a/test/CodeGenCXX/visibility-hidden-extern-templates.cpp +++ b/test/CodeGenCXX/visibility-hidden-extern-templates.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -O1 -emit-llvm -o - -fvisibility hidden %s | FileCheck %s +// RUN: %clang_cc1 -O1 -cxx-abi itanium -emit-llvm -o - -fvisibility hidden %s | FileCheck %s template struct X { diff --git a/test/CodeGenCXX/volatile-1.cpp b/test/CodeGenCXX/volatile-1.cpp index 472c01a4e2..aa900c3fa8 100644 --- a/test/CodeGenCXX/volatile-1.cpp +++ b/test/CodeGenCXX/volatile-1.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -Wno-unused-value -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -Wno-unused-value -cxx-abi itanium -emit-llvm %s -o - | FileCheck %s // CHECK: @i = global [[INT:i[0-9]+]] 0 volatile int i, j, k; diff --git a/test/CodeGenCXX/vtable-cast-crash.cpp b/test/CodeGenCXX/vtable-cast-crash.cpp index cc419fd4f5..3321fc7027 100644 --- a/test/CodeGenCXX/vtable-cast-crash.cpp +++ b/test/CodeGenCXX/vtable-cast-crash.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm-only %s +// RUN: %clang_cc1 -emit-llvm-only -cxx-abi itanium %s struct A { A(); diff --git a/test/CodeGenCXX/weak-extern-typeinfo.cpp b/test/CodeGenCXX/weak-extern-typeinfo.cpp index 3c3406e559..9e8504daa5 100644 --- a/test/CodeGenCXX/weak-extern-typeinfo.cpp +++ b/test/CodeGenCXX/weak-extern-typeinfo.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s // rdar://10246395 #define WEAK __attribute__ ((weak)) diff --git a/test/CodeGenCXX/weak-external.cpp b/test/CodeGenCXX/weak-external.cpp index dad54f6861..d030e22654 100644 --- a/test/CodeGenCXX/weak-external.cpp +++ b/test/CodeGenCXX/weak-external.cpp @@ -1,4 +1,4 @@ -// RUN: %clang -fexceptions %s -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -cxx-abi itanium %s -S -emit-llvm -o - | FileCheck %s // PR4262 // CHECK-NOT: _ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag -- 2.40.0