4495766362
From-SVN: r23760
38 lines
591 B
C
38 lines
591 B
C
// This one check for objects being destroyed twice. The bug it is
|
|
// looking for is the extra dtor call on C() even though it is never
|
|
// built.
|
|
// prms-id: 783
|
|
|
|
extern "C" void printf (char *, ...);
|
|
extern "C" void exit (int);
|
|
|
|
class C {
|
|
int i;
|
|
public:
|
|
// C() {printf ("C ctor at %x\n", this);}
|
|
// ~C() {printf ("C dtor at %x\n", this);}
|
|
C() {
|
|
i = 1;
|
|
}
|
|
~C() {
|
|
if (i != 1) {
|
|
exit(1);
|
|
}
|
|
i = 0;
|
|
}
|
|
};
|
|
|
|
C g;
|
|
|
|
C func() {
|
|
return g;
|
|
}
|
|
|
|
int main(int argc, char**argv) {
|
|
C c,d;
|
|
// printf ("\n");
|
|
c = (argc != 1) ? C() : d;
|
|
// printf ("\n");
|
|
return 0;
|
|
}
|