The attached code will lead to a stack overflow if compiled with -std=c++0x and -g . The code compiles fine without -g. gcc-4.5.0 accepts the code just fine as well, even when compiled with -g.
Created attachment 21413 [details]
preprocessed source file
Created attachment 21414 [details]
g++ -v / g++ proto_fusion.cpp -std=c++0x -g output
Works for me on x86_64-linux with -m32.
I am able to reproduce this stack overflow with other source files as well - even somtimes when compiling without "-g" .
Created attachment 21433 [details]
cc1plus invocation commands
Created attachment 21434 [details]
(In reply to comment #6)
> Created an attachment (id=21434) 
> gdb backtrace
Hmm, GGC strikes again. Well really a small stack size on windows strikes with GGC.
(In reply to comment #7)
> (In reply to comment #6)
> > Created an attachment (id=21434) 
> > gdb backtrace
> Hmm, GGC strikes again. Well really a small stack size on windows strikes with
I added another testcase. When compiled with -O0 -g -std=c++0x on i686-mingw32, 3-stage bootstraped with "-g0 -O3 -fomit-frame-pointer", the reserved stack size of cc1plus must be between 8,3MB and 9,4MB. The default reserved stack size is about 2,09MB.
Created attachment 21456 [details]
Should be fixed for 4.6.0: compiler stack size was increased to 12MB by:
Fixed in 4.6.0