• gcc 12.1 has been released

    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
    environment variable.

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)