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

--- Comment #5 from Mikael Morin <mikael at gcc dot gnu.org> ---
Author: mikael
Date: Thu Oct  1 14:01:37 2015
New Revision: 228339

URL: https://gcc.gnu.org/viewcvs?rev=228339&root=gcc&view=rev
Log:
Fix missing deep copy when assigning a DT constructor to an array

This adds the missing deep copy when assiging a constructor of a derived
type with allocatable components to an array.

The check for constantness is removed so that the deep_copy argument passed
to gfc_trans_scalar_assign is set to true.

        PR fortran/67721
gcc/fortran/
        * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
        condition guarding deep copy.
gcc/testsuite/
        * gfortran.dg/alloc_comp_deep_copy_3.f03: New.


Added:
    branches/gcc-5-branch/gcc/testsuite/gfortran.dg/alloc_comp_deep_copy_3.f03
Modified:
    branches/gcc-5-branch/gcc/fortran/ChangeLog
    branches/gcc-5-branch/gcc/fortran/trans-expr.c
    branches/gcc-5-branch/gcc/testsuite/ChangeLog

Reply via email to