URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.mike/] [misc1.C] - Rev 12
Compare with Previous | Blame | View Log
// { dg-do run }
// GROUPS passed construct-destruct
/* g++ constructs j 13 times, and destructs it once. */
extern "C" {
int printf (const char *, ...);
void exit(int);
}
void foo() {
}
class C {
int val;
public:
static int count;
C(int ii) {
val = ii;
++count;
printf("up\n");
}
~C() {
--count;
printf("down\n");
}
int operator ++() {
return ++val;
}
operator int() {
return val;
}
};
int C::count = 0;
void bar() {
for (int ii=0; ii<13; ++ii)
for (C j=1; j<9; ++j)
foo();
}
int main() {
bar();
if (C::count)
{
printf("FAIL\n");
exit(1);
}
else
{
printf("PASS\n");
}
return 0;
}