Small testcase demonstrating template-free memory explosion problem.
Corey Kosak
kosak@cs.cmu.edu
Thu Jan 8 17:02:00 GMT 1998
I have managed to isolate a half-decent (note: template-free!) test case that
will not compile with -O2, given 300M of virtual memory. I hope it proves
helpful.
% g++ -v
Reading specs from /usr2/aloco/lib/gcc-lib/alpha-dec-osf3.2/egcs-2.91.03/specs
gcc version egcs-2.91.03 971225 (gcc-2.8.0)
% limit datasize 300M
% g++ -O2 big.cc
big.cc: In function `int main()':
big.cc:59: virtual memory exhausted
------------------------------------------------------------------------
class class4_t {
public:
~class4_t() {}
};
class class3_t {
public:
class4_t x;
~class3_t() { }
};
class class2_t {
public:
class3_t x;
class2_t () { }
};
class class1_t {
public:
class1_t() {
class2_t x;
}
};
class class0_t {
public:
class1_t x;
class0_t() { }
};
int main()
{
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
new class0_t; new class0_t; new class0_t; new class0_t;
}
More information about the Gcc-bugs
mailing list