GNU Compiler Collection (GCC) is a popular Open source compiler system from the GNU Project. Recently the GNU Project announced the release of GCC 8.1 with added features for its support for languages like C, C++, Java, ADA, GO, Objective-C, among others. This release is the first stable release for GCC v8 with a lot of improvements over previous standards.
This release brings an enhancement in C++ support and debugging for various languages. GNU has significantly improved the implementation of Go language to run smoothly with the latest version of Go i.e. v1.10. Apart from the compiler improvement, there has been an addition of garbage collector feature for Golang.
GNU has also worked on one of the leading features of GCC compiler: Profile-driven optimization. This feature enables fail-safe compiling using several iterations of compiling and generating a profile of the runtime behavior. Based on the behavior of the program, GCC optimizes the compilation of the program. With the new improvement, GCC can detect code that is not compiled properly and can trigger the code in next instances.
Some of the features that were worked on this release include the following:
- Improvement in compiler diagnostics enhancing the error and warning information at compile time
- Better Link-time optimization (LTO) using a new Dwarf format debug information.
- The libstdc++ library feature from C++17 and C++ 2a libraries
- C language extensions that support automatic vectorization for the latest AMD processors.
One of the most important features to note is the support for C++ 20 (C++ 2a) which is currently under development. Also the support for the newer ARM CPUs, Intel CPUs, AMD HSA, among others is worth noting in this release. For more information about changes in GCC 8.1, you can see the changelog. Also, this release is available from GNU FTP servers.