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()16main() { 17 std::cout << "starting\n"; 18 B b; 19 b.~A(); 20 std::cout << "done\n"; 21 } 22 23