diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2013-11-04 19:42:24 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2013-11-04 19:42:24 +0000 |
commit | 4ca469cf46edbb65229f40618a8bb3919f22bc5f (patch) | |
tree | 85e2363a2166c257385f1c506e8061ed35e4cb45 /gcc/fortran/trans-expr.c | |
parent | efaf512c94161056ad9834cf2d4f53d25e77aa2d (diff) | |
download | gcc-4ca469cf46edbb65229f40618a8bb3919f22bc5f.zip gcc-4ca469cf46edbb65229f40618a8bb3919f22bc5f.tar.gz gcc-4ca469cf46edbb65229f40618a8bb3919f22bc5f.tar.bz2 |
re PR fortran/57445 ([OOP] ICE in gfc_conv_class_to_class - for OPTIONAL polymorphic array)
2013-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57445
* trans-expr.c (gfc_conv_class_to_class): Remove spurious
assert.
2013-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57445
* gfortran.dg/optional_class_1.f90 : New test
From-SVN: r204356
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r-- | gcc/fortran/trans-expr.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index a590ca1..9586ca3 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -737,7 +737,6 @@ gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e, gfc_typespec class_ts, gfc_add_modify (&parmse->post, vptr, fold_convert (TREE_TYPE (vptr), ctree)); - gcc_assert (!optional || (optional && !copyback)); if (optional) { tree tmp2; @@ -7769,7 +7768,7 @@ is_runtime_conformable (gfc_expr *expr1, gfc_expr *expr2) e1 = a->expr; if (e1->rank > 0 && !is_runtime_conformable (expr1, e1)) return false; - } + } return true; } else if (expr2->value.function.isym |