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

--- Comment #5 from Paul Thomas <pault at gcc dot gnu.org> ---
Author: pault
Date: Wed Mar 27 12:51:43 2019
New Revision: 269962

URL: https://gcc.gnu.org/viewcvs?rev=269962&root=gcc&view=rev
Log:
2019-03-27  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/88247
        * expr.c (is_subref_array): Permit substrings to be detected
        as subref arrays.
        * trans-array.c (get_array_ctor_var_strlen): Obtain the length
        of deferred length strings. Handle substrings with a NULL end
        expression.
        (trans_array_constructor): Remove an unnecessary blank line.
        (gfc_conv_scalarized_array_ref): Skip to label 'done' if 'decl'
        is a pointer array.
        (get_array_charlen): If the expression is an array, convert the
        first element of the constructor and use its string length. Get
        a new charlen if necessary.
        (gfc_conv_expr_descriptor): Call 'get_array_charlen' for array
        constructor expressions. If the ss_info string length is
        available, use that to set the span of character arrays.
        * trans-expr.c (gfc_get_expr_charlen): Handle substrings
        * trans-stmt.c (trans_associate_var): Set the pointer array
        flag for variable targets and constant array constructors. Take
        care not to reset the string length or the span in the case of
        expressions that are not converted as direct by reference.

2019-03-27  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/88247
        * gfortran.dg/associate_47.f90: New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/associate_47.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/fortran/trans-stmt.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to