// { dg-do run } // GROUPS passed destructors // dtor file // Message-Id: <9301242117.AA04053@cs.rice.edu> // From: dougm@cs.rice.edu (Doug Moore) // Subject: 2.3.3: premature dtor of temp? // Date: Sun, 24 Jan 93 15:17:07 CST #include #include int killed = 0; class Foo { int a; public: Foo() :a(0) {;} ~Foo() { killed++;} Foo& operator << (int b) { a += b; if (killed) { printf ("FAIL\n"); exit (1); } return *this; } }; int main() { Foo() << 1 << 3 << 5 << 7; printf ("PASS\n"); }