[Bug fortran/102003] [PDT] Length of character component not simplified

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jul 12 11:35:52 GMT 2023


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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andre Vehreschild <vehre@gcc.gnu.org>:

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

commit r14-2461-gf9182da3213aa57c16dd0b52862126de4a259f6a
Author: Andre Vehreschild <vehre@gcc.gnu.org>
Date:   Wed Jul 12 12:51:30 2023 +0200

    gfortran: Allow ref'ing PDT's len() in parameter-initializer.

    Fix declaring a parameter initialized using a pdt_len reference
    not simplifying the reference to a constant.

    2023-07-12  Andre Vehreschild  <vehre@gcc.gnu.org>

    gcc/fortran/ChangeLog:

            PR fortran/102003
            * expr.cc (find_inquiry_ref): Replace len of pdt_string by
            constant.
            (simplify_ref_chain): Ensure input to find_inquiry_ref is
            NULL.
            (gfc_match_init_expr): Prevent PDT analysis for function calls.
            (gfc_pdt_find_component_copy_initializer): Get the initializer
            value for given component.
            * gfortran.h (gfc_pdt_find_component_copy_initializer): New
            function.
            * simplify.cc (gfc_simplify_len): Replace len() of PDT with pdt
            component ref or constant.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/pdt_33.f03: New test.


More information about the Gcc-bugs mailing list