1*c87b03e5Sespie // GROUPS passed operators 2*c87b03e5Sespie // opr-del file 3*c87b03e5Sespie // Message-Id: <199301272137.AA25213@world.std.com> 4*c87b03e5Sespie // From: kol@world.std.com (Nikolay Yatsenko) 5*c87b03e5Sespie // Subject: bug report 6*c87b03e5Sespie // Date: Wed, 27 Jan 1993 16:37:30 -0500 7*c87b03e5Sespie 8*c87b03e5Sespie extern "C" int printf(const char* ...); 9*c87b03e5Sespie 10*c87b03e5Sespie int delete_counter = -1; 11*c87b03e5Sespie 12*c87b03e5Sespie struct T{ deleteT13*c87b03e5Sespie void operator delete (void * p) {delete_counter ++; ::operator delete(p);} 14*c87b03e5Sespie }; 15*c87b03e5Sespie main(void)16*c87b03e5Sespieint main(void) 17*c87b03e5Sespie { 18*c87b03e5Sespie T * ps1 = new T; 19*c87b03e5Sespie 20*c87b03e5Sespie ::delete ps1; // Wrong T::operator delete() is called here 21*c87b03e5Sespie 22*c87b03e5Sespie if (delete_counter != -1) 23*c87b03e5Sespie { printf ("FAIL\n"); return 1; } 24*c87b03e5Sespie else 25*c87b03e5Sespie printf ("PASS\n"); 26*c87b03e5Sespie return 0; 27*c87b03e5Sespie } 28