diff options
author | Hans Wennborg <hans@hanshq.net> | 2015-08-18 00:17:58 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2015-08-18 00:17:58 +0000 |
commit | 9c728e4814e2f933f5241fec4ccfbfc64cb4f97b (patch) | |
tree | 8ceaae890cec0517245f2bc62c9a55d194330a8a /test/CodeGenCXX/vtable-available-externally.cpp | |
parent | 191ca843117d213fa4b1b7e4c08345d1ef30f4ae (diff) |
Revert r245257 "Generating assumption loads of vptr after ctor call"
It caused PR24479
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245260 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/vtable-available-externally.cpp')
-rw-r--r-- | test/CodeGenCXX/vtable-available-externally.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/test/CodeGenCXX/vtable-available-externally.cpp b/test/CodeGenCXX/vtable-available-externally.cpp index 860a3fa118..ab090936cb 100644 --- a/test/CodeGenCXX/vtable-available-externally.cpp +++ b/test/CodeGenCXX/vtable-available-externally.cpp @@ -182,8 +182,8 @@ void f() { namespace Test9 { // all virtual functions are outline, so we can assume that it will // be generated in translation unit where foo is defined -// CHECK-TEST9-DAG: @_ZTVN5Test91AE = available_externally unnamed_addr constant -// CHECK-TEST9-DAG: @_ZTVN5Test91BE = available_externally unnamed_addr constant +// CHECK-TEST9: @_ZTVN5Test91AE = available_externally unnamed_addr constant +// CHECK-TEST9: @_ZTVN5Test91BE = available_externally unnamed_addr constant struct A { virtual void foo(); virtual void bar(); @@ -206,7 +206,7 @@ void g() { namespace Test10 { // because A's key function is defined here, vtable is generated in this TU -// CHECK-TEST10-DAG: @_ZTVN6Test101AE = unnamed_addr constant +// CHECK-TEST10: @_ZTVN6Test101AE = unnamed_addr constant struct A { virtual void foo(); virtual void bar(); @@ -214,14 +214,14 @@ struct A { void A::foo() {} // Because key function is inline we will generate vtable as linkonce_odr -// CHECK-TEST10-DAG: @_ZTVN6Test101DE = linkonce_odr unnamed_addr constant +// CHECK-TEST10: @_ZTVN6Test101DE = linkonce_odr unnamed_addr constant struct D : A { void bar(); }; inline void D::bar() {} // because B has outline key function then we can refer to -// CHECK-TEST10-DAG: @_ZTVN6Test101BE = available_externally unnamed_addr constant +// CHECK-TEST10: @_ZTVN6Test101BE = available_externally unnamed_addr constant struct B : A { void foo(); void bar(); @@ -230,7 +230,7 @@ struct B : A { // C's key function (car) is outline, but C has inline virtual function so we // can't guarantee that we will be able to refer to bar from name // so (at the moment) we can't emit vtable available_externally -// CHECK-TEST10-DAG: @_ZTVN6Test101CE = external unnamed_addr constant +// CHECK-TEST10: @_ZTVN6Test101CE = external unnamed_addr constant struct C : A { void bar() {} // defined in body - not key function virtual inline void gar(); // inline in body - not key function @@ -238,7 +238,7 @@ struct C : A { }; // no key function, vtable will be generated everywhere it will be used -// CHECK-TEST10-DAG: @_ZTVN6Test101EE = linkonce_odr unnamed_addr constant +// CHECK-TEST10: @_ZTVN6Test101EE = linkonce_odr unnamed_addr constant struct E : A {}; void g(A& a) { |