Believe it or not, GCC 7.1 marks the 30th anniversary of GNU Compiler Collection’s first Beta release. It’s a major release featuring lots of new functionality and improvements that aren’t available in the GCC 6.x or any other previous branch of the project, which makes it the recommended version for all platforms using GCC.
Prominent new features of GNU Compiler Collection 7.1.0 include experimental support for all the current C++17 draft library features in the C++ frontend, bringing the -std=gnu++1z and -std=c++1z options, as well as of some of them in the libstdc++ library, support for the Address Sanitizer to report the use of variables after leaving their scope.
GNU Compiler Collection can now can be configured for OpenMP 4.5 offloading to Nvidia PTX GPGPUs (General-purpose Computing on Graphics Processing Units), the emitted diagnostics received improvements to locations and location ranges, suggestions for misspelled identifiers, fix-it hints, option names, and a bunch of new warnings.
Other than that, GCC 7.1.0 improves the optimizers to add new functionality in the link time optimizations, inter- and intra-procedural optimizations, as well as some target backends like additions of store merging pass. Optimizations and improvements were also added to shrink wrapping, loop splitting, and code hoisting.
Submitted by: Arnfried Walbrecht