1 // { dg-do assemble  }
2 // GROUPS passed old-abort
3 #include <iostream>
4 
5 class A {
6  public:
~A()7   virtual ~A() {std::cout << "executed ~A()\n";}
8 };
9 
10 class B : public A {
11  public:
~B()12   virtual ~B() {std::cout << "executed ~B()\n";}
13 };
14 
15 int
main()16 main() {
17   std::cout << "starting\n";
18   B b;
19   b.~A();
20   std::cout << "done\n";
21 }
22 
23