| // { 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 <stdio.h> | |
| #include <stdlib.h> | |
| 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"); | |
| } | |