https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80931
--- Comment #9 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 <pa...@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 <pa...@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