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

--- Comment #9 from Paul Thomas <pault at gcc dot gnu.org> ---
Author: pault
Date: Sun Sep 30 12:22:07 2018
New Revision: 264724

URL: https://gcc.gnu.org/viewcvs?rev=264724&root=gcc&view=rev
Log:
2018-09-30  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/70752
        PR fortran/72709
        * trans-array.c (gfc_conv_scalarized_array_ref): If this is a
        deferred type and the info->descriptor is present, use the
        info->descriptor
        (gfc_conv_array_ref): Is the se expr is a descriptor type, pass
        it as 'decl' rather than the symbol backend_decl.
        (gfc_array_allocate): If the se string_length is a component
        reference, fix it and use it for the expression string length
        if the latter is not a variable type. If it is a variable do
        an assignment. Make use of component ref string lengths to set
        the descriptor 'span'.
        (gfc_conv_expr_descriptor): For pointer assignment, do not set
        the span field if gfc_get_array_span returns zero.
        * trans.c (get_array_span): If the upper bound a character type
        is zero, use the descriptor span if available.


2018-09-30  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/70752
        PR fortran/72709
        * gfortran.dg/deferred_character_25.f90 : New test.
        * gfortran.dg/deferred_character_26.f90 : New test.
        * gfortran.dg/deferred_character_27.f90 : New test to verify
        that PR82617 remains fixed.


Added:
    trunk/gcc/testsuite/gfortran.dg/deferred_character_25.f90
    trunk/gcc/testsuite/gfortran.dg/deferred_character_26.f90
    trunk/gcc/testsuite/gfortran.dg/deferred_character_27.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to