1// PRMS id: 6863 2 3extern "C" int printf(const char *, ...); 4extern "C" void abort(); 5 6enum ENUM {E1=0, E2 }; 7int d; 8 9class AAA{ 10public: 11 AAA() {a = new char[10];printf("constructor AAA() called\n");} 12 AAA(int) {printf("constructor AAA(int) called\n");} 13 ~AAA(){ printf("destructor ~AAA() called\n"); d = 1; } 14 operator int () { return 1;} 15 char *a; 16 int i; 17}; 18 19struct sentinel { 20 ~sentinel () { if (d == 0) abort (); } 21} s; 22 23/* forward decl here causes gcc not to execute ct and dt for arr1 */ 24extern AAA arr1[]; 25 26AAA arr1[] = {(int)E1 }; 27 28int main() 29{ 30 return 0; 31} 32