re PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)

2013-10-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
        of CLASS(*) variables.

2013-10-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_11.f90: New.

From-SVN: r203586
This commit is contained in:
Tobias Burnus 2013-10-15 08:14:35 +02:00 committed by Tobias Burnus
parent 961402d398
commit 910ddd1808
3 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2013-10-15 Tobias Burnus <burnus@net-b.de>
PR fortran/58652
* trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
of CLASS(*) variables.
2013-10-14 Tobias Burnus <burnus@net-b.de>
PR fortran/58658

View File

@ -7639,7 +7639,8 @@ conv_intrinsic_move_alloc (gfc_code *code)
from_se.expr));
/* Reset _vptr component to declared type. */
if (UNLIMITED_POLY (from_expr))
if (vtab == NULL)
/* Unlimited polymorphic. */
gfc_add_modify_loc (input_location, &block, from_se.expr,
fold_convert (TREE_TYPE (from_se.expr),
null_pointer_node));
@ -7695,7 +7696,8 @@ conv_intrinsic_move_alloc (gfc_code *code)
from_se.expr));
/* Reset _vptr component to declared type. */
if (UNLIMITED_POLY (from_expr))
if (vtab == NULL)
/* Unlimited polymorphic. */
gfc_add_modify_loc (input_location, &block, from_se.expr,
fold_convert (TREE_TYPE (from_se.expr),
null_pointer_node));

View File

@ -1,3 +1,8 @@
2013-10-15 Tobias Burnus <burnus@net-b.de>
PR fortran/58652
* gfortran.dg/unlimited_polymorphic_11.f90: New.
2013-10-14 Ian Lance Taylor <iant@google.com>
* go.test/go-test.exp (go-find-packages): New proc.