aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-04-06 20:23:56 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2010-04-06 20:23:56 +0200
commit178f9aa17efb04fe73f447763c9cab64166b1041 (patch)
tree09851507edcb4905b8c3426e51a826c7aa3fb49c /gcc/fortran/parse.c
parentd079b87fab5e8de93c897940b750286d31d5d003 (diff)
downloadgcc-178f9aa17efb04fe73f447763c9cab64166b1041.zip
gcc-178f9aa17efb04fe73f447763c9cab64166b1041.tar.gz
gcc-178f9aa17efb04fe73f447763c9cab64166b1041.tar.bz2
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-04-06 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.h (gfc_array_spec): Add cotype. * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it and defer error diagnostic. * resolve.c (resolve_fl_derived): Add missing check. (resolve_symbol): Add cotype/type check. * parse.c (parse_derived): Fix setting of coarray_comp. 2010-04-06 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_4.f90: Fix test. * gfortran.dg/coarray_6.f90: Add more tests. From-SVN: r158014
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r--gcc/fortran/parse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index b68afba..190148c 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -2115,7 +2115,8 @@ endType:
sym->attr.proc_pointer_comp = 1;
/* Looking for coarray components. */
- if (c->attr.codimension || c->attr.coarray_comp)
+ if (c->attr.codimension
+ || (c->attr.coarray_comp && !c->attr.pointer && !c->attr.allocatable))
sym->attr.coarray_comp = 1;
/* Look for private components. */