structAfinal{virtualvoidfunc()=0;};// expected-warning {{abstract class is marked 'final'}} expected-note {{unimplemented pure virtual method 'func' in 'A'}}
structB{virtualvoidfunc()=0;};// expected-note {{unimplemented pure virtual method 'func' in 'C'}}
structCfinal:B{};// expected-warning {{abstract class is marked 'final'}}