diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/dtors5.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/dtors5.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors5.C b/gcc/testsuite/g++.old-deja/g++.law/dtors5.C new file mode 100644 index 000000000..220372ac1 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/dtors5.C @@ -0,0 +1,34 @@ +// { 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; } +} |