SPARC
Support for the SPARC M8 processor has been added.
The switches -mfix-ut700 and -mfix-gr712rc have been added to work around an erratum in LEON3FT processors.
Use of the Floating-point Multiply Single to Double (FsMULd) instruction can now be controlled by the -mfsmuld and -fno-fsmuld options.
RTEMS
The Ada run-time support uses now thread-local storage (TLS).
Support for RISC-V has been added.
Support for 64-bit PowerPC using the ELFv2 ABI with 64-bit long double has been added.
Bug fixes: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.2
GCC Java removed, package now uses ISL 0.16.1
Release notes:
We are proud to announce the next, major release of the
GNU Compiler Collection, 7.1. This year we celebrated the 30th
anniversary of the first GCC beta release and this month
we will celebrate 30 years since the GCC 1.0 release.
GCC 7.1 is a major release containing substantial new
functionality not available in GCC 6.x or previous GCC releases.
The C++ frontend now has experimental support for all of the current C++17
draft, with the -std=c++1z and -std=gnu++1z options, and the libstdc++
library has most of the C++17 draft library features implemented too.
This releases features various improvements in the emitted diagnostics,
including improved locations, location ranges, suggestions for misspelled
identifiers, option names, fix-it hints and various new warnings
have been added.
The optimizers have been improved, with improvements appearing in all of
intra- and inter-procedural optimizations, link time optimizations and
various target backends, including, but not limited to, additions of store
merging pass, code hoisting optimization, loop splitting, and
shrink wrapping improvements.
The Address Sanitizer can now report uses of variables after leaving their
scope. GCC now can be configured for OpenMP 4.5 offloading to NVidia PTX
GPGPUs.
Some code that compiled successfully with older GCC versions might require
some code adjustments, see http://gcc.gnu.org/gcc-7/porting_to.html for
details.
See
https://gcc.gnu.org/gcc-7/changes.html
for more information about changes in GCC 7.1.