diff --git a/gcc/fortran/dependency.c b/gcc/fortran/dependency.c index 3e14ddc25d8..a0bbd584947 100644 --- a/gcc/fortran/dependency.c +++ b/gcc/fortran/dependency.c @@ -2238,9 +2238,8 @@ gfc_dep_resolver (gfc_ref *lref, gfc_ref *rref, gfc_reverse *reverse) break; /* Exactly matching and forward overlapping ranges don't cause a - dependency, when they are not part of a coarray ref. */ - if (fin_dep < GFC_DEP_BACKWARD - && lref->u.ar.codimen == 0 && rref->u.ar.codimen == 0) + dependency. */ + if (fin_dep < GFC_DEP_BACKWARD) return 0; /* Keep checking. We only have a dependency if diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 00edd447bb2..87b3ca72c05 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -1860,7 +1860,7 @@ conv_caf_send (gfc_code *code) { lhs_expr = code->ext.actual->expr; rhs_expr = code->ext.actual->next->expr; - may_require_tmp = gfc_check_dependency (lhs_expr, rhs_expr, false) == 0 + may_require_tmp = gfc_check_dependency (lhs_expr, rhs_expr, true) == 0 ? boolean_false_node : boolean_true_node; gfc_init_block (&block);