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
andstd=gnu++2a
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.