GCC 14.1 Released

Richard Biener rguenther@suse.de
Tue May 7 10:31:35 GMT 2024

The GCC developers are proud to announce a new major GCC release, 14.1.

The C frontend when targeting standards newer than C89 now considers
many non-standard constructs as errors that were previously only
warnings.  See https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors
for more details.  C23 _BitInt Bit-precise integer types are now
supported, for now only on IA-32, x86-64 and AArch64.

The C++ frontend now implements several C++26 features, some
missing C++23 bits and defect report resolutions.  Diagnostics involving
C++ templates now quote source from the instantiation context.

The libstdc++exp.a library now includes all symbols for the
Filesystem TS and the experimental symbols for the C++23
std::stacktrace class, so -lstdc++exp can be used instead of
-lstdc++fs. The libstdc++_libbacktrace.a library is not longer
installed. Improved experimental support for C++20, C++23, and C++26.
Updated parallel algorithms that are compatible with oneTBB.

GCC now implements the Clang extensions __has_feature and __has_extension
for the C family language frontends.

The Fortran frontend now accepts -std=f2023 in preparation of support
of Fortran 2023.

GCC now has a new -fhardened flag to enable security hardening features
available on the target platform.

OpenMP and OpenACC offloading is made easier by no longer requiring
explicit passing of -lm or -lgfortran to the offload device linker.
The AMD GCN offload target gained support for select RDNA2 and RDNA3
graphics cards.

The vectorizer can now vectorize loops which contain alternate exits
such as via break statements and can now target RISC-V with a comparable
feature set than other main architectures.  The #pragma GCC novector pragma
can be used to disable vectorization of annotated loops.

GCC's Static Analyzer has been greatly improved, still mainly targeting
C code.

The AArch64 target supports new hardware features like SME and SME2 and
can now handle GCCs function multiversioning.

The IA-32/x86-64 target can now target AVX10.1 and APX supporting CPUs
and can target recent and future announced CPU families.

The LoongArch port got support for vector ISA extensions and the
Ada and D frontends.

The RISC-V port now enables SLP and loop vectorization when the vector
extension is enabled and supports vector intrinsics as of the RVV 1.0

Some code that compiled successfully with older GCC versions might require
source changes, see http://gcc.gnu.org/gcc-14/porting_to.html for



for more information about changes in GCC 14.1.

This release is available from the WWW and FTP servers listed here:


The release is in the gcc-14.1.0/ subdirectory.

If you encounter difficulties using GCC 14.1, please do not contact me
directly.  Instead, please visit http://gcc.gnu.org for information about
getting help.

Driving a leading free software project such as GCC would not be possible
without support from its many contributors.
Not only its developers, but especially its regular testers and users which
contribute to its high quality.  The list of individuals
is too large to thank individually!

More information about the Gcc mailing list