On Tue, Oct 25, 2005 at 09:46:23PM -0700, Shantonu Sen wrote: > You're forgetting something: GNU/Linux distros are built with > thousands of lines of patches to support new/different gcc behavior.
Unfortunately, too many C++ programmers in particular never used a compiler other than g++, and older g++ versions accepted all kinds of amazing stuff that was not C++. There was never any promise made that such things would continue to compile forever. > Thousands were added for the 2->3 transition, and thousands more for > 3->4. Please don't claim that all upstream programs in all > distributions support gcc 3.4.4 and 4.0.2 without modification, and > thus gcc is the standard by which portability is defined. Who's talking about 3.4.4 or 4.0.2? The behavior we're discussing was in gcc 3.0, as well as in Red Hat's "2.96", so it's pretty old. My point is not that gcc is "the standard by which portability is defined", but rather is that code that still doesn't work with any gcc 3.x release is not portable, and you won't find such code in the distros because it's been fixed long ago.