diff options
author | Tobias Burnus <burnus@net-b.de> | 2014-06-25 22:26:42 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2014-06-25 22:26:42 +0200 |
commit | aa9ca5ca4f3e9e272a7dcc518d037927b319bb27 (patch) | |
tree | a15b037bed16a18aeac9a00c6147d44c259deb02 /gcc/fortran/check.c | |
parent | db88b449589fa989c1f72e4796d2bce291b6cedf (diff) | |
download | gcc-aa9ca5ca4f3e9e272a7dcc518d037927b319bb27.zip gcc-aa9ca5ca4f3e9e272a7dcc518d037927b319bb27.tar.gz gcc-aa9ca5ca4f3e9e272a7dcc518d037927b319bb27.tar.bz2 |
check.c (check_co_minmaxsum): Add definable check.
gcc/fortran/
2014-06-25 Tobias Burnus <burnus@net-b.de>
* 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 <burnus@net-b.de>
* gfortran.dg/coarray_collectives_7.f90: New.
From-SVN: r211992
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r-- | gcc/fortran/check.c | 12 |
1 files changed, 12 insertions, 0 deletions
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)) |