1// GROUPS passed 2extern "C" int printf (const char *, ...); 3extern "C" void exit(int); 4 5class A { 6public: 7 virtual ~A() { 8 printf("FAIL\n"); 9 exit (1); 10 } 11}; 12 13class B : public A { 14public: 15 virtual ~B() { 16 printf("PASS\n"); 17 exit (0); 18 } 19}; 20 21int main() { 22 B b; 23 A *ap = &b; 24 ap->~A(); // This should call the destructor virtually. 25 printf("FAIL\n"); 26 return 1; 27} 28