From Thomas Koenig@21:1/5 to All on Fri May 6 15:25:23 2022
gcc 12.1 has been released, which includes gfortran 12.1.
Here are the sections relevant to Fortran in the changes file:
* WG5/N1942, "TS 29113 Further Interoperability of Fortran with C", is
now fully supported. In addition to implementing previously missing
functionality, such as support for character arguments of length
greater than one in functions marked bind(c) and gaps in the handling
for assumed-rank arrays, numerous other bugs have been fixed, and an
extensive set of new conformance test cases has been added.
* GCC 12 now uses OPERATION as the name of the function to the
CO_REDUCE intrinsic for the pairwise reduction, thus conforming to
the Fortran 2018 standard. Previous versions used OPERATOR which
conforms to TS 18508.
* On POWER systems which support it, the -mabi=ieeelongdouble option
now selects the IEEE 128-bit floating point format for REAL(KIND=16).
R16_IBM and R16_IEEE have been added to the -fconvert option, the
CONVERT specifyer of the OPEN statement and the GFORTRAN_CONVERT_UNIT
o OpenMP 5.0 support has been extended: The close map modifier
and the affinity clause are now supported. In addition Fortran
gained additionally the following features which were available
in C and C++ before: declare variant is now available, depobj,
mutexinoutset and iterator can now also be used with the depend
clause, defaultmap has been updated for OpenMP 5.0, and the
loop directive and combined directives involving the master
directive have been added.
o The following OpenMP 5.1 features have been added: support for
expressing OpenMP directives as C++ 11 attributes, the masked
and scope construct, the nothing and error directives, and
using primary with the proc_bind clause and OMP_PROC_BIND
environment variable, the reproducible and unconstrained
modifiers to the order clause, and, for C/C++ only, the align
and allocator modifiers to the allocate clause and the atomic
extensions are now available. The OMP_PLACE environment
variable supports the OpenMP 5.1 features. In addition the
OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT environment variables
and their associated API routines are now supported as well as
the memory-allocation routines added for Fortran and extended
for C/C++ in OpenMP 5.1. In Fortran code, strictly structured
blocks can be used.
o The OpenMP_Implementation_Status can be found in the libgomp