diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-03-10 02:19:29 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-03-10 02:19:29 +0000 |
| commit | e7113ca907daa9f84992986f005e8ca6e6577481 (patch) | |
| tree | da4680799639f5060a4cbf70bcfcce709a1f870d /clang/test | |
| parent | b7e0b87441a253be7973b1da9abc07a1c7fa68bd (diff) | |
| download | bcm5719-llvm-e7113ca907daa9f84992986f005e8ca6e6577481.tar.gz bcm5719-llvm-e7113ca907daa9f84992986f005e8ca6e6577481.zip | |
Delay codegen of vtables when handling implicit instantiations.
This fixes PR6474.
llvm-svn: 98123
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/CodeGenCXX/virtual-base-destructor-call.cpp | 10 | ||||
| -rw-r--r-- | clang/test/SemaTemplate/virtual-member-functions.cpp | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/clang/test/CodeGenCXX/virtual-base-destructor-call.cpp b/clang/test/CodeGenCXX/virtual-base-destructor-call.cpp index b6e85e208b1..7de9dd2a608 100644 --- a/clang/test/CodeGenCXX/virtual-base-destructor-call.cpp +++ b/clang/test/CodeGenCXX/virtual-base-destructor-call.cpp @@ -22,6 +22,11 @@ int main() { // CHECK: call void @_ZN14basic_iostreamIcED2Ev // CHECK: call void @_ZN9basic_iosD2Ev +// basic_iostream's base dtor calls its non-virtual base dtor. +// CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED2Ev +// CHECK: call void @_ZN13basic_istreamIcED2Ev +// CHECK: } + // basic_iostream's deleting dtor calls its complete dtor, then // operator delete(). // CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED0Ev @@ -40,11 +45,6 @@ int main() { // CHECK: call void @_ZN13basic_istreamIcED1Ev // CHECK: call void @_ZdlPv -// basic_iostream's base dtor calls its non-virtual base dtor. -// CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED2Ev -// CHECK: call void @_ZN13basic_istreamIcED2Ev -// CHECK: } - // basic_istream's base dtor is a no-op. // CHECK: define linkonce_odr void @_ZN13basic_istreamIcED2Ev // CHECK-NOT: call diff --git a/clang/test/SemaTemplate/virtual-member-functions.cpp b/clang/test/SemaTemplate/virtual-member-functions.cpp index 58ac08c0b21..8df808d2569 100644 --- a/clang/test/SemaTemplate/virtual-member-functions.cpp +++ b/clang/test/SemaTemplate/virtual-member-functions.cpp @@ -14,7 +14,7 @@ template<class T> int A<T>::a(T x) { } void f(A<int> x) { - x.anchor(); // expected-note{{in instantiation of member function 'PR5557::A<int>::anchor' requested here}} + x.anchor(); } template<typename T> @@ -52,4 +52,4 @@ T *HasOutOfLineKey<T>::f(float *fp) { return fp; // expected-error{{cannot initialize return object of type 'int *' with an lvalue of type 'float *'}} } -HasOutOfLineKey<int> out_of_line; // expected-note{{in instantiation of member function 'HasOutOfLineKey<int>::HasOutOfLineKey' requested here}} +HasOutOfLineKey<int> out_of_line; |

