The new Version 8.1 of the Gnu Compiler Collection (GCC) improves diagnostics and C++ support. GCC provides front ends and libraries for the Ada, C, C++, Fortran, and Google Go languages.

Despite what the version number indicates, GCC 8.1 is actually the first production release in the new GCC line.

GCC 8.1’s new features include:

Better emitted diagnostics, with improved locations, location ranges, and fix-it hints, particularly in the C++ front end.

Improvements to profile-driven optimizations, including the splitting of x86 functions into hot and cold regions by default.

Link-time optimizations have a new way of emitting Dwarf format debug information, making LTO-optimized code more debuggable.

The C++ front end has experimental support for parts of the upcoming C++ 2a draft, the next version of C++ expected in 2020. Featured are the std=c++2a and std=gnu++2a flags, including designated initializers and default member initializers for bit fields.

and flags, including designated initializers and default member initializers for bit fields. The libstdc++ library has further C++ 17 and C++ 2a draft library features.

The AArch64 processor target supports Scalable Vector Extension. Support includes automatic vectorization with SVE instructions. But SVE Arm C Language Extensions are not yet included.

GCC 8.1 also removes some features:

Support for the obsolete SBD/coff debug info format has been removed.

Cilk+ extensions for C and C++ have been removed.

MPX extensions to C and C++ have been deprecated, with removal coming in a future release.

Where to download GCC 8.1

You can download GCC via Gnu’s FTP servers, in the gcc/gcc-8.1.0/ subdirectory.