]> granicus.if.org Git - clang/commitdiff
Whack a bunch of tests in CodeGenCXX to work on ARM (using ARM ABI). Batch 2 of 3.
authorEli Friedman <eli.friedman@gmail.com>
Tue, 14 Jun 2011 21:20:53 +0000 (21:20 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 14 Jun 2011 21:20:53 +0000 (21:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133011 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenCXX/copy-constructor-elim-2.cpp
test/CodeGenCXX/default-constructor-default-argument.cpp
test/CodeGenCXX/mangle-template.cpp
test/CodeGenCXX/member-init-assignment.cpp
test/CodeGenCXX/member-init-ctor.cpp
test/CodeGenCXX/nrvo.cpp
test/CodeGenCXX/pr9965.cpp
test/CodeGenCXX/stmtexpr.cpp
test/CodeGenCXX/virtual-base-destructor-call.cpp
test/CodeGenCXX/virtual-pseudo-destructor-call.cpp

index f71ba7c949172001c9ccc1c3300128fc5e8b177c..50aea94b09a530529e196b99c044cc59f870c12a 100644 (file)
@@ -48,7 +48,7 @@ struct B {
 
 void f() {
   // Verify that we don't mark the copy constructor in this expression as elidable.
-  // CHECK: call void @_ZN6PR86831AC1ERKS0_
+  // CHECK: call {{.*}} @_ZN6PR86831AC1ERKS0_
   A a = (B().a);
 }
 
index f2c7f6d12a34ae60e4e6896b51c667ce0772f790..374a967e3e2a35a688189f9c23371c7178d5cbec 100644 (file)
@@ -5,4 +5,4 @@ struct A { A(int x = 2); };
 struct B : public A {};
 B x;
 
-// CHECK: call void @_ZN1AC2Ei
+// CHECK: call {{.*}} @_ZN1AC2Ei
index 463f15dc4abeecd1d6aab37604134e06420c1107..0562206726a06dc95f1e1674b2201d65dead0b94 100644 (file)
@@ -82,7 +82,7 @@ namespace test7 {
     X(U*, typename int_c<(meta<T>::value + meta<U>::value)>::type *) { }
   };
 
-  // CHECK: define weak_odr void @_ZN5test71XIiEC1IdEEPT_PNS_5int_cIXplL_ZNS_4metaIiE5valueEEsrNS6_IS3_EE5valueEE4typeE(%"class.test1::T"* %this, double*, float*) unnamed_addr
+  // CHECK: define weak_odr {{.*}} @_ZN5test71XIiEC1IdEEPT_PNS_5int_cIXplL_ZNS_4metaIiE5valueEEsrNS6_IS3_EE5valueEE4typeE(%"class.test1::T"* %this, double*, float*) unnamed_addr
   template X<int>::X(double*, float*);
 }
 
index 128cb888f3d401d85e8069c8297877e601a4f2b7..937578402c69b9607ecf9050cce2afd4105b6ec4 100644 (file)
@@ -10,7 +10,7 @@ struct Foo {
 Foo::Foo(unsigned arg) : file_id(arg = 42)
 { }
 
-// CHECK: define void @_ZN3FooC2Ej(%struct.Foo* %this, i32 %arg) unnamed_addr
+// CHECK: define {{.*}} @_ZN3FooC2Ej(%struct.Foo* %this, i32 %arg) unnamed_addr
 // CHECK: [[ARG:%.*]] = alloca i32
 // CHECK: store i32 42, i32* [[ARG]]
 // CHECK: store i32 42, i32* %{{.*}}
index d9a6734b319b1e850e7a04dfa52368b5c700e1a6..d70947bcab00d282980abdab0afc8f582ef38069 100644 (file)
@@ -7,7 +7,7 @@ struct S {
 
 S s;
 
-// CHECK: define{{.*}} void @_ZN1SC2Ev(
+// CHECK: define {{.*}} @_ZN1SC2Ev(
 // CHECK-NOT }
 // CHECK: call {{.*}} @_Z1bv()
 // CHECK-NOT }
index 82caff880f5c3e2b3f69dc4c9c4736dfe623431d..0efb35538038b69cea6a883c36ed7735b9b5b33c 100644 (file)
@@ -13,10 +13,10 @@ public:
 // CHECK-EH: define void @_Z5test0v
 X test0() {
   X x;
-  // CHECK:          call void @_ZN1XC1Ev
+  // CHECK:          call {{.*}} @_ZN1XC1Ev
   // CHECK-NEXT:     ret void
 
-  // CHECK-EH:       call void @_ZN1XC1Ev
+  // CHECK-EH:       call {{.*}} @_ZN1XC1Ev
   // CHECK-EH-NEXT:  ret void
   return x;
 }
@@ -24,13 +24,13 @@ X test0() {
 // CHECK: define void @_Z5test1b(
 // CHECK-EH: define void @_Z5test1b(
 X test1(bool B) {
-  // CHECK:      tail call void @_ZN1XC1Ev
+  // CHECK:      tail call {{.*}} @_ZN1XC1Ev
   // CHECK-NEXT: ret void
   X x;
   if (B)
     return (x);
   return x;
-  // CHECK-EH:      tail call void @_ZN1XC1Ev
+  // CHECK-EH:      tail call {{.*}} @_ZN1XC1Ev
   // CHECK-EH-NEXT: ret void
 }
 
@@ -45,18 +45,18 @@ X test2(bool B) {
     return y;
   return x;
 
-  // CHECK: call void @_ZN1XC1Ev
-  // CHECK-NEXT: call void @_ZN1XC1Ev
-  // CHECK: call void @_ZN1XC1ERKS_
-  // CHECK: call void @_ZN1XC1ERKS_
-  // CHECK: call void @_ZN1XD1Ev
-  // CHECK: call void @_ZN1XD1Ev
+  // CHECK: call {{.*}} @_ZN1XC1Ev
+  // CHECK-NEXT: call {{.*}} @_ZN1XC1Ev
+  // CHECK: call {{.*}} @_ZN1XC1ERKS_
+  // CHECK: call {{.*}} @_ZN1XC1ERKS_
+  // CHECK: call {{.*}} @_ZN1XD1Ev
+  // CHECK: call {{.*}} @_ZN1XD1Ev
   // CHECK: ret void
 
   // The block ordering in the -fexceptions IR is unfortunate.
 
-  // CHECK-EH:      call void @_ZN1XC1Ev
-  // CHECK-EH-NEXT: invoke void @_ZN1XC1Ev
+  // CHECK-EH:      call {{.*}} @_ZN1XC1Ev
+  // CHECK-EH-NEXT: invoke {{.*}} @_ZN1XC1Ev
   // -> %invoke.cont, %lpad
 
   // %invoke.cont:
@@ -64,7 +64,7 @@ X test2(bool B) {
   // -> %if.then, %if.end
 
   // %if.then: returning 'x'
-  // CHECK-EH:      invoke void @_ZN1XC1ERKS_
+  // CHECK-EH:      invoke {{.*}} @_ZN1XC1ERKS_
   // -> %cleanup, %lpad1
 
   // %lpad: landing pad for ctor of 'y', dtor of 'y'
@@ -74,23 +74,23 @@ X test2(bool B) {
   // -> %eh.cleanup
 
   // %lpad1: landing pad for return copy ctors, EH cleanup for 'y'
-  // CHECK-EH: invoke void @_ZN1XD1Ev
+  // CHECK-EH: invoke {{.*}} @_ZN1XD1Ev
   // -> %eh.cleanup, %terminate.lpad
 
   // %if.end: returning 'y'
-  // CHECK-EH: invoke void @_ZN1XC1ERKS_
+  // CHECK-EH: invoke {{.*}} @_ZN1XC1ERKS_
   // -> %cleanup, %lpad1
 
   // %cleanup: normal cleanup for 'y'
-  // CHECK-EH: invoke void @_ZN1XD1Ev
+  // CHECK-EH: invoke {{.*}} @_ZN1XD1Ev
   // -> %invoke.cont11, %lpad
 
   // %invoke.cont11: normal cleanup for 'x'
-  // CHECK-EH:      call void @_ZN1XD1Ev
+  // CHECK-EH:      call {{.*}} @_ZN1XD1Ev
   // CHECK-EH-NEXT: ret void
 
   // %eh.cleanup:  EH cleanup for 'x'
-  // CHECK-EH: invoke void @_ZN1XD1Ev
+  // CHECK-EH: invoke {{.*}} @_ZN1XD1Ev
   // -> %invoke.cont17, %terminate.lpad
 
   // %invoke.cont17: rethrow block for %eh.cleanup.
@@ -121,13 +121,13 @@ extern "C" void exit(int) throw();
 // CHECK: define void @_Z5test4b
 X test4(bool B) {
   {
-    // CHECK: tail call void @_ZN1XC1Ev
+    // CHECK: tail call {{.*}} @_ZN1XC1Ev
     X x;
     // CHECK: br i1
     if (B)
       return x;
   }
-  // CHECK: tail call void @_ZN1XD1Ev
+  // CHECK: tail call {{.*}} @_ZN1XD1Ev
   // CHECK: tail call void @exit(i32 1)
   exit(1);
 }
@@ -139,7 +139,7 @@ X test5() {
   try {
     may_throw();
   } catch (X x) {
-    // CHECK-EH: invoke void @_ZN1XC1ERKS_
+    // CHECK-EH: invoke {{.*}} @_ZN1XC1ERKS_
     // CHECK-EH: call void @__cxa_end_catch()
     // CHECK-EH: ret void
     return x;
index b87fcf42023b140ed432679de40607bed184b013..596dee9caaa3dfb8adf88049ee690532299321db 100644 (file)
@@ -7,6 +7,6 @@ struct X
 
 X<int> x;
 // CHECK: define internal void @__cxx_global_var_init()
-// CHECK: call void @_ZN1XIiEC1Ev
-// CHECK: define linkonce_odr void @_ZN1XIiEC1Ev
-// CHECK: define linkonce_odr void @_ZN1XIiEC2Ev
+// CHECK: call {{.*}} @_ZN1XIiEC1Ev
+// CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC1Ev
+// CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC2Ev
index 0828d592fec165cb350b94dda897d4e176551323..1f0e4ac4bf2957589b198cc26f5527c9253b687e 100644 (file)
@@ -46,11 +46,11 @@ void foo3()
 
 void foo4()
 {
-// CHECK: call void @_ZN1AC1Ei
-// CHECK: call void @_ZN1AC1ERKS_
-// CHECK: call void @_ZN1AD1Ev
-// CHECK: call void @_ZN1BC1ERK1A
-// CHECK: call void @_ZN1AD1Ev
+// CHECK: call {{.*}} @_ZN1AC1Ei
+// CHECK: call {{.*}} @_ZN1AC1ERKS_
+// CHECK: call {{.*}} @_ZN1AD1Ev
+// CHECK: call {{.*}} @_ZN1BC1ERK1A
+// CHECK: call {{.*}} @_ZN1AD1Ev
   const B &b = ({ A a(1); a; });
   if (b.i != 1)
     abort();
index f028e4c733fecda7bf42d8b4026848aef59a7133..2424d218d6b7ad2ea1e564942baff47776a1fb9d 100644 (file)
@@ -18,34 +18,34 @@ int main() {
 
 // basic_iostream's complete dtor calls its base dtor, then its
 // virtual base's dtor.
-//  CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED1Ev(%struct.basic_iostream* %this) unnamed_addr
-//  CHECK: call void @_ZN14basic_iostreamIcED2Ev
-//  CHECK: call void @_ZN9basic_iosD2Ev
+//  CHECK: define linkonce_odr {{.*}} @_ZN14basic_iostreamIcED1Ev(%struct.basic_iostream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN14basic_iostreamIcED2Ev
+//  CHECK: call {{.*}} @_ZN9basic_iosD2Ev
 
 // basic_iostream's base dtor calls its non-virtual base dtor.
-//  CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED2Ev(%struct.basic_iostream* %this, i8** %vtt) unnamed_addr
-//  CHECK: call void @_ZN13basic_istreamIcED2Ev
+//  CHECK: define linkonce_odr {{.*}} @_ZN14basic_iostreamIcED2Ev(%struct.basic_iostream* %this, i8** %vtt) unnamed_addr
+//  CHECK: call {{.*}} @_ZN13basic_istreamIcED2Ev
 //  CHECK: }
 
 // basic_iostream's deleting dtor calls its complete dtor, then
 // operator delete().
-//  CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED0Ev(%struct.basic_iostream* %this) unnamed_addr
-//  CHECK: call void @_ZN14basic_iostreamIcED1Ev
-//  CHECK: call void @_ZdlPv
+//  CHECK: define linkonce_odr {{.*}} @_ZN14basic_iostreamIcED0Ev(%struct.basic_iostream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN14basic_iostreamIcED1Ev
+//  CHECK: call {{.*}} @_ZdlPv
 
 // basic_istream's complete dtor calls the base dtor,
 // then its virtual base's base dtor.
-//  CHECK: define linkonce_odr void @_ZN13basic_istreamIcED1Ev(%struct.basic_istream* %this) unnamed_addr
-//  CHECK: call void @_ZN13basic_istreamIcED2Ev
-//  CHECK: call void @_ZN9basic_iosD2Ev
+//  CHECK: define linkonce_odr {{.*}} @_ZN13basic_istreamIcED1Ev(%struct.basic_istream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN13basic_istreamIcED2Ev
+//  CHECK: call {{.*}} @_ZN9basic_iosD2Ev
 
 // basic_istream's deleting dtor calls the complete dtor, then
 // operator delete().
-//  CHECK: define linkonce_odr void @_ZN13basic_istreamIcED0Ev(%struct.basic_istream* %this) unnamed_addr
-//  CHECK: call void @_ZN13basic_istreamIcED1Ev
-//  CHECK: call void @_ZdlPv
+//  CHECK: define linkonce_odr {{.*}} @_ZN13basic_istreamIcED0Ev(%struct.basic_istream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN13basic_istreamIcED1Ev
+//  CHECK: call {{.*}} @_ZdlPv
 
 // basic_istream's base dtor is a no-op.
-//  CHECK: define linkonce_odr void @_ZN13basic_istreamIcED2Ev(%struct.basic_istream* %this, i8** %vtt) unnamed_addr
+//  CHECK: define linkonce_odr {{.*}} @_ZN13basic_istreamIcED2Ev(%struct.basic_istream* %this, i8** %vtt) unnamed_addr
 //  CHECK-NOT: call
 //  CHECK: }
index 285e3da75924740f94f7de1e4170f965c7815b1c..0d3574e46d336f06d9f4267789beb5a5a8720bde 100644 (file)
@@ -5,6 +5,10 @@ struct A {
 };
 
 void f(A *a) {
-  // CHECK: call void %
+  // CHECK: define {{.*}} @_Z1fP1A
+  // CHECK: load
+  // CHECK: load
+  // CHECK: [[CALLEE:%[a-zA-Z0-9.]*]] = load
+  // CHECK: call {{.*}} [[CALLEE]](
   a->~A();
 }