URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run }
|
// { dg-do run }
|
// GROUPS passed destructors
|
// GROUPS passed destructors
|
// dtor file:
|
// dtor file:
|
// Message-Id: <1992Jun25.181845.18886@leland.Stanford.EDU>
|
// Message-Id: <1992Jun25.181845.18886@leland.Stanford.EDU>
|
// From: niz@leland.stanford.edu (Jim Nisbet)
|
// From: niz@leland.stanford.edu (Jim Nisbet)
|
// Subject: gcc 2.2.2 -- c++ bug: destructor called twice (example)
|
// Subject: gcc 2.2.2 -- c++ bug: destructor called twice (example)
|
// Date: 25 Jun 92 18:18:45 GMT
|
// Date: 25 Jun 92 18:18:45 GMT
|
|
|
#include
|
#include
|
|
|
int things = 0;
|
int things = 0;
|
|
|
class foo {
|
class foo {
|
public:
|
public:
|
foo() { things++; }
|
foo() { things++; }
|
foo(const foo&) { things++; }
|
foo(const foo&) { things++; }
|
~foo() { things--; }
|
~foo() { things--; }
|
|
|
int i;
|
int i;
|
};
|
};
|
|
|
void
|
void
|
sub(foo f) {
|
sub(foo f) {
|
;
|
;
|
}
|
}
|
|
|
|
|
int main() {
|
int main() {
|
sub(foo());
|
sub(foo());
|
if (things == 0)
|
if (things == 0)
|
printf ("PASS\n");
|
printf ("PASS\n");
|
else
|
else
|
{ printf ("FAIL\n"); return 1; }
|
{ printf ("FAIL\n"); return 1; }
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.