1// { dg-do assemble  }
2// { dg-options "-w" }
3// PRMS Id: 4342 (second testcase)
4// Bug: g++ still can't deal with ambiguous inheritance in destructor calls.
5
6struct ccUnwind
7{
8    ccUnwind ();
9    virtual ~ccUnwind ();
10};
11
12struct ccPersistent
13{
14    virtual void bar();
15};
16
17struct ccImpExp : public ccPersistent, public ccUnwind
18{};
19
20struct ccTool : public ccImpExp
21{};
22
23struct ccScreenTool : public ccTool
24{};
25
26struct ccVTool : public ccScreenTool
27{};
28
29struct ccScreenObjRep : public ccUnwind
30{};
31
32struct ccScreenObj : public ccScreenObjRep
33{};
34
35struct ccVSTool : public ccImpExp, public ccUnwind
36{};
37
38struct ccSCCP : public ccVSTool
39{};
40
41void foo ()
42{
43    ccSCCP* foo = new ccSCCP;
44    delete foo;
45}
46