Fix gfortran.dg/class_to_type_4.f90 deallocation code misordering failure

PR fortran/64986
gcc/fortran/
	* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
	code at the beginning of the block.

From-SVN: r226162
This commit is contained in:
Mikael Morin 2015-07-24 14:44:59 +00:00
parent 710ee21854
commit 68180ebadd
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2015-07-24 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/64986
* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
code at the beginning of the block.
2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/61831

View File

@ -9241,7 +9241,7 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
if (scalar_to_array && dealloc)
{
tmp = gfc_deallocate_alloc_comp_no_caf (expr2->ts.u.derived, rse.expr, 0);
gfc_add_expr_to_block (&loop.post, tmp);
gfc_prepend_expr_to_block (&loop.post, tmp);
}
/* When assigning a character function result to a deferred-length variable,