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