Jakub Jelinek, the developer of the company Red Hat, announced the first release candidate set compiler GCC 4.8.
Unless there are unforeseen problems, the final release is expected later this week.
The most prominent changes are:
- Convert the code base to use the language C + +. The main code still remains in the C language, but some parts have been rewritten in C + +, allowed to include new features in the language C + + and assembly necessarily required C + + compiler;
- New optimization level “-Og”, aimed at trying to make debugging easier and more enjoyable process. This mode reduces compile time, the compiler produces only minimal optimization does not affect the results when debugging;
- Support for the new family of chips Intel Haswell, and AMD Jaguar and Steamroller;
- Implementing Address Sanitizer (-fsanitize = address) and Thread Sanitizer (-fsanitize = thread):
– Address Sanitizer – developed by the Google tool to detect invalid memory accesses. It can help you identify the address to memory areas, following their release (“use-after-free”), the destruction of the heap, stack, and buffer overflows. Address Sanitizer use may slow down the program in about half;
– Thread Sanitizer – detection mode state “races” when sharing the same data from different threads. Thread Sanitizer is based on code from the program Valgrind. Thread Sanitizer can use significantly (~ 10) slow down the program;
- Enhancements to support standard C + +11 and C11, as well as the implementation of a number of possibilities of the future standard C + +1 y;
- Some improvements in the optimizations for code generation;
- A series of improvements to support architecture ARM.
Main link to news: http://gcc.gnu.org/ml/gcc/2013-03/msg00127.html