https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116733

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Paul Thomas <pa...@gcc.gnu.org>:

https://gcc.gnu.org/g:c5fa2108ce0f3030cb28f47a18bc974c4224b66d

commit r15-4573-gc5fa2108ce0f3030cb28f47a18bc974c4224b66d
Author: Paul Thomas <pa...@gcc.gnu.org>
Date:   Wed Oct 23 14:34:20 2024 +0100

    Fortran: Generic processing of assumed rank objects (f202y) [PR116733]

    2024-10-23  Paul Thomas  <pa...@gcc.gnu.org>

    gcc/fortran
            PR fortran/116733
            * array.cc : White space corrections.
            * expr.cc (gfc_check_pointer_assign): Permit assumed rank
            target with -std=f202y. Add constraints that the data pointer
            object must have rank remapping specified and the that the data
            target be contiguous.
            * gfortran.h : Add a gfc_array_ref field 'ar' to the structure
            'gfc_association_list'.
            * interface.cc (gfc_compare_actual_formal): If -Wsurprising
            is set, emit a warning if an assumed size array is passed to an
            assumed rank dummy.
            * intrinsic.cc (do_ts29113_check): Permit an assumed rank arg.
            for reshape if -std=f202y and the argument is contiguous.
            * invoke.texi : Introduce -std=f202y. Whitespace errors.
            * lang.opt : Accept -std=f202y.
            * libgfortran.h : Define GFC_STD_F202Y.
            * match.cc (gfc_match_associate): If -std=f202y an assumed rank
            selector is allowed if it is contiguous and the associate name
            has rank remapping specified.
            * options.cc (gfc_init_options): -std=f202y is equivalent to
            -std=f2023 with experimental f202y features. White space issues
            * parse.cc (parse_associate): If the selector is assumed rank,
            use the 'ar' field of the association list to build an array
            specification.
            * primary.cc (gfc_match_varspec): Do not resolve the assumed
            rank selector of a class associate name at this stage to avoid
            the rank change.
            * resolve.cc (find_array_spec): If an array_ref dimension is -1
            reset it with the rank in the object's array_spec.
            (gfc_expression_rank): Do not check dimen types for an assumed
            rank variable expression.
            (resolve_variable): Do not emit the assumed rank context error
            if the context is pointer assignment and the variable is a
            target.
            (resolve_assoc_var): Resolve the bounds and check for missing
            bounds in the rank remap of an associate name with an assumed
            rank selector. Do not correct the rank of an associate name
            with an assumed rank selector.
            (resolve_symbol): Allow the reference to an assumed rank object
            if -std-f202y is enabled and the current operation is
            EXEC_BLOCK.
            * st.cc (gfc_free_association_list): Free bounds expressions
            of the 'ar' field, if present.
            * trans-array.cc (gfc_conv_ss_startstride): If -std=f202y and
            bounds checking activated, do not apply the assertion.
            * trans-expr.cc (gfc_trans_pointer_assignment): An assumed rank
            target has its offset set to zero.
            * trans-stmt.cc (trans_associate_var): If the selector is
            assumed rank, call gfc_trans_pointer_assignment using the 'ar'
            field in the association list as the array reference for expr1.
            The data target, expr2, is a copy of the selector expression.

    gcc/testsuite/
            PR fortran/116733
            * gfortran.dg/associate_3.f03: Change error message.
            * gfortran.dg/f202y/f202y.exp: Enable tests of f202y features.
            * gfortran.dg/f202y/generic_assumed_rank_1.f90: New test.
            * gfortran.dg/f202y/generic_assumed_rank_2.f90: New test.
            * gfortran.dg/f202y/generic_assumed_rank_3.f90: New test.

Reply via email to