From aa9ca5ca4f3e9e272a7dcc518d037927b319bb27 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Wed, 25 Jun 2014 22:26:42 +0200 Subject: check.c (check_co_minmaxsum): Add definable check. gcc/fortran/ 2014-06-25 Tobias Burnus * check.c (check_co_minmaxsum): Add definable check. * expr.c (gfc_check_vardef_context): Fix context == NULL case. * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer arguments. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of temporary strings. gcc/testsuite/ 2014-06-25 Tobias Burnus * gfortran.dg/coarray_collectives_7.f90: New. From-SVN: r211992 --- gcc/fortran/check.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gcc/fortran/check.c') diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index bd3eff6..10944eb 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -1307,6 +1307,18 @@ check_co_minmaxsum (gfc_expr *a, gfc_expr *result_image, gfc_expr *stat, if (!variable_check (a, 0, false)) return false; + if (!gfc_check_vardef_context (a, false, false, false, "argument 'A' with " + "INTENT(INOUT)")) + return false; + + if (gfc_has_vector_subscript (a)) + { + gfc_error ("Argument 'A' with INTENT(INOUT) at %L of the intrinsic " + "subroutine %s shall not have a vector subscript", + &a->where, gfc_current_intrinsic); + return false; + } + if (result_image != NULL) { if (!type_check (result_image, 1, BT_INTEGER)) -- cgit v1.1