From 63fbf5865a5fc48a25ff4410e7c2757bb24c36c8 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sat, 21 Jul 2012 13:02:47 +0200 Subject: re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3) 2012-07-21 Tobias Burnus PR fortran/48820 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support lbound/ubound with dim= for assumed-rank arrays. * array.c (gfc_set_array_spec): Reject coarrays with assumed shape. * decl.c (merge_array_spec): Ditto. Return gfc_try. (match_attr_spec, match_attr_spec): Update call. 2012-07-21 Tobias Burnus PR fortran/48820 * gfortran.dg/assumed_rank_3.f90: New. * gfortran.dg/assumed_rank_11.f90: New. * gfortran.dg/assumed_rank_1.f90: Update dg-error. * gfortran.dg/assumed_rank_2.f90: Update dg-error. * gfortran.dg/assumed_rank_7.f90: Update dg-error. From-SVN: r189743 --- gcc/fortran/array.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/fortran/array.c') diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index acae59f..1b700b8 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -750,6 +750,14 @@ gfc_set_array_spec (gfc_symbol *sym, gfc_array_spec *as, locus *error_loc) return SUCCESS; } + if ((sym->as->type == AS_ASSUMED_RANK && as->corank) + || (as->type == AS_ASSUMED_RANK && sym->as->corank)) + { + gfc_error ("The assumed-rank array '%s' at %L shall not have a " + "codimension", sym->name, error_loc); + return FAILURE; + } + if (as->corank) { /* The "sym" has no corank (checked via gfc_add_codimension). Thus -- cgit v1.1