diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-07-21 13:02:47 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-07-21 13:02:47 +0200 |
commit | 63fbf5865a5fc48a25ff4410e7c2757bb24c36c8 (patch) | |
tree | 33f73a98fbea8e542783998243400448f3ba8051 /gcc/fortran/array.c | |
parent | aea21190650881b9b17580a55f61393eb78f33a4 (diff) | |
download | gcc-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.c | 8 |
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 |