2006-09-12-OpaqueStructCrash.cpp revision 651f13cea278ec967336033dd032faef0e9fc2ec
1// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -o - %s 2// RUN: %clang_cc1 -triple %ms_abi_triple -fno-rtti -emit-llvm -o - %s 3 4struct A { 5 virtual ~A(); 6}; 7 8template <typename Ty> 9struct B : public A { 10 ~B () { delete [] val; } 11private: 12 Ty* val; 13}; 14 15template <typename Ty> 16struct C : public A { 17 C (); 18 ~C (); 19}; 20 21template <typename Ty> 22struct D : public A { 23 D () {} 24 private: 25 B<C<Ty> > blocks; 26}; 27 28template class D<double>; 29