diff options
Diffstat (limited to 'gcc/fortran/trans-intrinsic.c')
-rw-r--r-- | gcc/fortran/trans-intrinsic.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index eceabfa072e..37c8a1cec36 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -7633,7 +7633,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)); @@ -7689,7 +7690,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)); |