This page is a "brief" summary of some of the huge number of improvements in GCC 12.
Note: GCC 12 has not been released yet, so this document is a work-in-progress.
std::pairconstructors have been deprecated. These allowed the use of an rvalue and a literal
0to construct a pair containing a move-only type and a pointer. The
nullptrkeyword should be used to initialize the pointer member instead of a literal
0, as this is portable to other C++ implementations.
mutexinoutsetcan now also be used with the
-Wopenacc-parallelismwas added for OpenACC. It warns about potentially suboptimal choices related to OpenACC parallelism.
__builtin_shufflevectorcompatible with the clang language extension was added.
-mptxflag has been added to specify the PTX ISA version for the generated code; permitted values are
3.1(default, matches previous GCC versions) and
Copyright (C) Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.