aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/array.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2012-07-21 13:02:47 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2012-07-21 13:02:47 +0200
commit63fbf5865a5fc48a25ff4410e7c2757bb24c36c8 (patch)
tree33f73a98fbea8e542783998243400448f3ba8051 /gcc/fortran/array.c
parentaea21190650881b9b17580a55f61393eb78f33a4 (diff)
downloadgcc-63fbf5865a5fc48a25ff4410e7c2757bb24c36c8.zip
gcc-63fbf5865a5fc48a25ff4410e7c2757bb24c36c8.tar.gz
gcc-63fbf5865a5fc48a25ff4410e7c2757bb24c36c8.tar.bz2
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
2012-07-21 Tobias Burnus <burnus@net-b.de> 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 <burnus@net-b.de> 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
Diffstat (limited to 'gcc/fortran/array.c')
-rw-r--r--gcc/fortran/array.c8
1 files changed, 8 insertions, 0 deletions
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