aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2013-11-04 19:42:24 +0000
committerPaul Thomas <pault@gcc.gnu.org>2013-11-04 19:42:24 +0000
commit4ca469cf46edbb65229f40618a8bb3919f22bc5f (patch)
tree85e2363a2166c257385f1c506e8061ed35e4cb45 /gcc/fortran/trans-expr.c
parentefaf512c94161056ad9834cf2d4f53d25e77aa2d (diff)
downloadgcc-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.c3
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