re PR fortran/83567 (Parametrized derived types: Segmentation fault when assigning a function return value)
2017-12-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/83567 * trans-expr.c (gfc_trans_assignment_1): Free parameterized components of the lhs if dealloc is set. *trans-decl.c (gfc_trans_deferred_vars): Do not free the parameterized components of function results on leaving scope. 2017-12-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/83567 * gfortran.dg/pdt_26.f90 : New test. From-SVN: r256033
This commit is contained in:
parent
ec3131c5c3
commit
459e77b859
1 changed files with 2 additions and 1 deletions
|
@ -10078,7 +10078,8 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
|
|||
}
|
||||
|
||||
/* Deallocate the lhs parameterized components if required. */
|
||||
if (dealloc && expr2->expr_type == EXPR_FUNCTION)
|
||||
if (dealloc && expr2->expr_type == EXPR_FUNCTION
|
||||
&& !expr1->symtree->n.sym->attr.associate_var)
|
||||
{
|
||||
if (expr1->ts.type == BT_DERIVED
|
||||
&& expr1->ts.u.derived
|
||||
|
|
Loading…
Add table
Reference in a new issue