[Bug fortran/87151] allocating array of character

pault at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Oct 9 07:47:00 GMT 2018


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

--- Comment #5 from Paul Thomas <pault at gcc dot gnu.org> ---
Author: pault
Date: Tue Oct  9 07:46:48 2018
New Revision: 264949

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

        PR fortran/87151
        * trans-array.c (gfc_get_array_span): Deal with deferred char
        array components having a TYPE_MAX_VALUE of zero.
        (gfc_array_init_size): Use the hidden string length component
        to build the descriptor dtype.
        (gfc_array_allocate): Remove the erroneous replacement of the
        charlen backend decl with a temporary.
        (gfc_conv_expr_descriptor): Use the ss_info string length in
        the case of deferred character components.
        (gfc_alloc_allocatable_for_assignment): Actually compare the
        string lengths for deferred characters. Make sure that kind > 1
        is handled correctly. Set the span field of the descriptor.
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Remove the stupid
        comment.

        PR fortran/80931
        * trans-array.c (gfc_array_allocate): Set the span field for
        variable length character arrays.


2018-10-09  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/87151
        * gfortran.dg/deferred_type_component_3.f90: New test.

        PR fortran/80931
        * gfortran.dg/deferred_character_28.f90: New test.
        * gfortran.dg/deferred_character_29.f90: New test (note that
        this test appears in PR83196 comment #4 by mistake).


Added:
    trunk/gcc/testsuite/gfortran.dg/deferred_character_28.f90
    trunk/gcc/testsuite/gfortran.dg/deferred_character_29.f90
    trunk/gcc/testsuite/gfortran.dg/deferred_type_component_3.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list