GCC 3.x is a major improvement. It still needs a little work but I wouldn't hesitate to use it.
Last I used 3.x for an x86 cpu/linux was 3.0.something, and I had to turn optimisation off for my SDL project to work. It seemed XFree86, GNumeric, mplayer, etc. compiled with warnings, and a lot of things just didn't make it to the final link..
I still use the GCC 3.2.3 MC68HC12 compiler chain, it works fine, but this is a 16 bit CPU with 1KiB SRAM... the one bug I did find was specific to implimentation with the CPU (... to do with ram paging and interrupts, and has since been fixed).
Actually I'm impressed with the optimisation GCC 3.2.3 does for the HC12, for some things my hand-coded asm is only a few bytes smaller! Then again this is a measly little MCU
I've just done some reading and apparently 3.2.2 is quite stable and even compiles the Linux kernel! Looks like I'm behind the times then
Looks like I'll have to recompile my X and my kernel when I get some free time...
- Paul