| // { dg-do run } |
| // GROUPS passed destructors |
| // dtor file: |
| // Message-Id: <1992Jun25.181845.18886@leland.Stanford.EDU> |
| // From: niz@leland.stanford.edu (Jim Nisbet) |
| // Subject: gcc 2.2.2 -- c++ bug: destructor called twice (example) |
| // Date: 25 Jun 92 18:18:45 GMT |
| |
| #include <stdio.h> |
| |
| int things = 0; |
| |
| class foo { |
| public: |
| foo() { things++; } |
| foo(const foo&) { things++; } |
| ~foo() { things--; } |
| |
| int i; |
| }; |
| |
| void |
| sub(foo f) { |
| ; |
| } |
| |
| |
| int main() { |
| sub(foo()); |
| if (things == 0) |
| printf ("PASS\n"); |
| else |
| { printf ("FAIL\n"); return 1; } |
| } |