xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp (revision 0b98e8aad89f2bd4ba80b523d73cf29e9dd82ce1)
1 // RUN: %clang_cc1 -emit-llvm -o - %s
2 
3 struct A {
4    virtual ~A();
5 };
6 
7 template <typename Ty>
8 struct B : public A {
9    ~B () { delete [] val; }
10 private:
11      Ty* val;
12 };
13 
14 template <typename Ty>
15 struct C : public A {
16    C ();
17    ~C ();
18 };
19 
20 template <typename Ty>
21 struct D : public A {
22      D () {}
23    private:
24      B<C<Ty> > blocks;
25 };
26 
27 template class D<double>;
28