// PR lto/53808 // Devirtualization + inlining should produce a non-virtual // call to ~foo. // { dg-options "-O -fdevirtualize" } // { dg-final { scan-assembler "_ZN3fooD2Ev" } } struct foo { virtual ~foo(); }; struct bar : public foo { virtual void zed(); }; void f() { foo *x(new bar); delete x; }