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

--- Comment #15 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Harald Anlauf <anl...@gcc.gnu.org>:

https://gcc.gnu.org/g:509352069d6f166d396f4b4a86e71ea521f2ca78

commit r14-9597-g509352069d6f166d396f4b4a86e71ea521f2ca78
Author: Harald Anlauf <anl...@gmx.de>
Date:   Wed Mar 20 20:59:24 2024 +0100

    Fortran: improve array component description in runtime error message
[PR30802]

    Runtime error messages for array bounds violation shall use the following
    scheme for a coherent, abridged description of arrays or array components
    of derived types:
    (1) If x is an ordinary array variable, use "x"
    (2) if z is a DT scalar and x an array component at level 1, use "z%x"
    (3) if z is a DT scalar and x an array component at level > 1, or
        if z is a DT array and x an array (at any level), use "z...%x"
    Use a new helper function abridged_ref_name for construction of that name.

    gcc/fortran/ChangeLog:

            PR fortran/30802
            * trans-array.cc (abridged_ref_name): New helper function.
            (trans_array_bound_check): Use it.
            (array_bound_check_elemental): Likewise.
            (gfc_conv_array_ref): Likewise.

    gcc/testsuite/ChangeLog:

            PR fortran/30802
            * gfortran.dg/bounds_check_17.f90: Adjust pattern.
            * gfortran.dg/bounds_check_fail_8.f90: New test.

Reply via email to