
With the release of
GCC 4.8.0, the developers of the GNU Compiler Collection have completed the transition to C ++ in the GCC implementations. Work on the translation of the code base in C ++ has been going on since 2008, and now it has come to an end. Migrating to C ++ means that now you need a C ++ 2003 compiler to build GCC from source.
Richard Stallman wrote the first version of GCC in 1985 in the intolerable dialect of Pascal. In 1987, the compiler was rewritten in C, and existed in this form until 2013.
The new version of GCC 4.8 improved performance, implemented a new level of optimization
–Og
for ultra-fast compilation with almost no optimizations. Added Google’s
Address Sanitizer’s error detector to Google’s memory and the
Thread Sanitizer’s race data detector, which detects the sharing of the same data from different threads of a multi-threaded application. For more on innovations, see
release notes .
The Address Sanitizer detector can be used on Linux (IA-32, x86-64, x32, PowerPC, PowerPC64) and Darwin (x86-64) platforms, while the speed of the program is slowed down about two times.
')
Detector Thread Sanitizer slows down about 10 times.
In addition, GCC 4.8 improves support for C ++ 11 and adds support for the AArch64 architecture (ARM64), which is present in processors with the ARMv8 instruction set, although there are no devices on the market with such instruction set.
GCC is the official compiler of the GNU system, it is also the main compiler for a number of other operating systems, including various Linux and BSD variants, Mac OS X, ReactOS, BeOS, and so on.
For more information about the reasons for migrating to C ++ and specifically about the changes made, see the
GCC Wiki: C ++ Conversion . In short, the reason is the popularity of the C ++ language and cleaner code on the pros.
GCC source code 4.8.0Official SVN serverGCC manualsFortunately, the transition to C ++ has almost
no effect on the performance of the GCC compilers.
Some examples from the 2008 Lance Taylor presentation