Home | History | Annotate | Download | only in CodeGenCXX
      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 
      4 struct A {
      5    virtual ~A();
      6 };
      7 
      8 template <typename Ty>
      9 struct B : public A {
     10    ~B () { delete [] val; }
     11 private:
     12      Ty* val;
     13 };
     14 
     15 template <typename Ty>
     16 struct C : public A {
     17    C ();
     18    ~C ();
     19 };
     20 
     21 template <typename Ty>
     22 struct D : public A {
     23      D () {}
     24    private:
     25      B<C<Ty> > blocks;
     26 };
     27 
     28 template class D<double>;
     29