OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [dtors5.C] - Diff between revs 305 and 338

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; }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.