Building the whole Debian archive with GCC 4.1: a summary
Posted Mar 28, 2006 4:41 UTC (Tue) by butlerm
Parent article: Building the whole Debian archive with GCC 4.1: a summary
All I can say is it is unusually irritating for GCC to disallow what used to be perfectly legal idiom with well defined semantics and then not provide some sort of backward compatibility option or other work around.
For example, the ISO C++ people, in their infinite wisdom, decided that anything resembling an offsetof() was to be illegal in C++ in all circumstances, breaking both C compatibility and a *large* body of C++ code. Granted offsetof() is not particularly well defined in cases where there are multiple base classes, but since when is a "C" style language the arbiter of correct programming practice?
GCC adopted this rule in the 3.x series, and it takes an unusual amount of obfuscation to persuade the compiler to calculate the proper offset without triggering an error. If it were a trivial syntax change - no problem - but instead they removed what should be a fundamental capability of any low level or systems programming language.
to post comments)