1 /* { dg-do compile } */
2 // PR C++/30303
3 // This used to ICE because we did not return NULL
4 // in grokfndecl when an error happened.
5 
6 struct Ifoo
7 {
~IfooIfoo8 virtual ~Ifoo(){}
9 };
10 struct foo : Ifoo
11 {
foofoo12  foo(){};
13 };
~foo()14 foo::~foo() // { dg-error "definition of implicitly-declared" }
15 {
16 delete this;
17 }
18