blob: 7a60218560944ee9e5a9ea7dd53ff132b2f83d4c [file] [log] [blame]
// { 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;
}