gcc.gnu.org
Среди прочего:
• A new link-time optimizer has been added (-flto). ... This enables interprocedural optimizations to work across different files (and even different languages), potentially improving the performance of the generated code.
• If a header named in a #include directive is not found, the compiler exits immediately. This avoids a cascade of errors arising from declarations expected to be found in that header being missing. (меня это поведение очень затрахало, например, часто сообщение о ненайденном инклюде тонет в потоке следующего за этим высера).
• Improved experimental support for the upcoming C++0x ISO C++ standard, including support for raw strings,
lambda expressions and explicit type conversion operators. (ЛЯМБДЫ НАКОНЕЦ ЛЯМБДЫ ХОТЕТ НАКОНЕЦ ЛЯМБДЫ ДААААААААА)
• Compilation time for code that uses templates should now scale linearly with the number of instantiations rather than quadratically, as template instantiations are now looked up using hash tables.
• In C++0x mode local and anonymous classes are now allowed as template arguments, and in declarations of variables and functions with linkage, so long as any such declaration that is used is also defined
• Support for <future>, <functional>, and <random>.
• An experimental profile mode has been added. This is an implementation of many C++ standard library constructs with an additional analysis layer that gives performance improvement advice based on recognition of suboptimal usage patterns.
• Python pretty-printers have been added for many standard library components that simplify the internal representation and present a more intuitive view of components when used with appropriately-advanced versions of GDB.
Фап-фап.