GCC 4.8 completed migration to C ++

    With the release of GCC 4.8.0, the developers of the GNU Compiler Collection have completed the transition to C ++ in the GCC implementation. Work on the translation of the codebase into C ++ has been ongoing since 2008, and now has come to an end. Migration to C ++ means that now, to compile GCC from source, the C ++ 2003 compiler is required.

    Richard Stallman wrote the first version of GCC in 1985 in an intolerable dialect of Pascal. In 1987, the compiler was rewritten in C, and in this form existed until 2013.

    The new version of GCC 4.8 improves performance, implements a new level of optimization –Ogfor ultra-fast compilation with almost no optimizations. Google Address Sanitizer Error Detector and Data Racing Detector AddedThread Sanitizer , which detects the sharing of the same data from different threads of a multithreaded application. For more information about the 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, and the program’s speed is about half as fast.

    The Thread Sanitizer slows down by about 10 times.

    In addition, support for C ++ 11 has been improved in GCC 4.8 and support for the AArch64 (ARM64) architecture, which is present in processors with the ARMv8 instruction set, although there are no devices with this set of instructions on the market yet.

    GCC is the official compiler of the GNU system, it is also the main compiler for a number of other operating systems, including various versions of Linux and BSD, Mac OS X, ReactOS, BeOS and so on.

    See the GCC Wiki: C ++ Conversion for more information on the reasons for migrating to C ++ and specifically on the changes made . In short, the reason is the popularity of the C ++ language and cleaner code on the “pluses”.

    GCC source code 4.8.0
    Official SVN server
    GCC manuals

    Fortunately, the switch to C ++ did not affect the performance of GCC compilers.

    A few examples from Lance Taylor's 2008 presentation







    Also popular now: