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

--- Comment #2 from Paul Thomas <pault at gcc dot gnu.org> ---
Author: pault
Date: Sun Oct 18 09:31:21 2015
New Revision: 228940

URL: https://gcc.gnu.org/viewcvs?rev=228940&root=gcc&view=rev
Log:
2015-10-18  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/67177
        PR fortran/67977
        * primary.c (match_substring): Add an argument 'deferred' to
        flag that a substring reference with null start and end should
        not be optimized away for deferred length strings.
        (match_string_constant, gfc_match_rvalue): Set the argument.
        * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
        there is a substring reference return.
        * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
        characters, assign the 'from' string length to the 'to' string
        length. If the 'from' expression is deferred, set its string
        length to zero. If the 'to' expression has allocatable
        components, deallocate them.

2015-10-18  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/67177
        * gfortran.dg/move_alloc_15.f90: New test
        * gfortran.dg/move_alloc_16.f90: New test

        PR fortran/67977
        * gfortran.dg/deferred_character_assignment_1.f90: New test

Added:
    trunk/gcc/testsuite/gfortran.dg/deferred_character_assignment_1.f90
    trunk/gcc/testsuite/gfortran.dg/move_alloc_15.f90
    trunk/gcc/testsuite/gfortran.dg/move_alloc_16.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/primary.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to