diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-03-23 19:55:22 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-03-23 19:55:22 +0000 |
commit | fa1708fdea4553835add9dd87c13d803cde0e8ad (patch) | |
tree | 6c288d5272f7bf6e82072300d72294a60d1f2044 /clang/test/CodeGenCXX | |
parent | 5921b83f54135612c36c54e61edabbe26a55ffb7 (diff) | |
download | bcm5719-llvm-fa1708fdea4553835add9dd87c13d803cde0e8ad.tar.gz bcm5719-llvm-fa1708fdea4553835add9dd87c13d803cde0e8ad.zip |
revert 99311. Looks like it broke darwin bootstrap.
llvm-svn: 99317
Diffstat (limited to 'clang/test/CodeGenCXX')
-rw-r--r-- | clang/test/CodeGenCXX/PR6677.cpp | 36 |
1 files changed, 2 insertions, 34 deletions
diff --git a/clang/test/CodeGenCXX/PR6677.cpp b/clang/test/CodeGenCXX/PR6677.cpp index 29c737c8e9b..8d168f11060 100644 --- a/clang/test/CodeGenCXX/PR6677.cpp +++ b/clang/test/CodeGenCXX/PR6677.cpp @@ -3,9 +3,6 @@ // CHECK-NOT: @_ZTVN5test118stdio_sync_filebufIwEE = constant // CHECK: @_ZTVN5test018stdio_sync_filebufIwEE = constant -// CHECK: define linkonce_odr void @_ZN5test21CIiE5fobarIdEEvT_ -// CHECK: define available_externally void @_ZN5test21CIiE6zedbarEd - namespace test0 { struct basic_streambuf { virtual ~basic_streambuf(); @@ -16,12 +13,7 @@ namespace test0 { }; // This specialization should cause the vtable to be emitted, even with - // the following extern template declaration (test at the top). - - // The existance of the extern template declaration should prevent us from emitting - // destructors. - // CHECK: define available_externally void @_ZN5test018stdio_sync_filebufIwED0Ev - // CHECK: define available_externally void @_ZN5test018stdio_sync_filebufIwED2Ev + // the following extern template declaration. template<> void stdio_sync_filebuf<wchar_t>::xsgetn() { } extern template class stdio_sync_filebuf<wchar_t>; @@ -36,30 +28,6 @@ namespace test1 { virtual void xsgetn(); }; - // Just a declaration should not force the vtable to be emitted - // (test at the top). + // Just a declaration should not force the vtable to be emitted. template<> void stdio_sync_filebuf<wchar_t>::xsgetn(); } - -namespace test2 { - template<typename T1> - class C { - void zedbar(double) { - } - template<typename T2> - void fobar(T2 foo) { - } - }; - extern template class C<int>; - void g() { - C<int> a; - // The extern template declaration should not prevent us from producing - /// foobar. - // (test at the top). - a.fobar(0.0); - - // But it should prevent zebbar - // (test at the top). - a.zedbar(0.0); - } -} |