diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index e434637f0c51..060cf1655c4f 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -6606,7 +6606,12 @@ contiguous_argument (gfc_actual_arglist *arg) { if (isym->id == GFC_ISYM_CAF_GET) return true; - return false; + + gfc_expr *noncopying_arg = gfc_get_noncopying_intrinsic_argument (expr); + if (noncopying_arg) + expr = noncopying_arg; + else + return false; } if (dummy == nullptr)