diff options
author | Tobias Burnus <burnus@net-b.de> | 2013-07-15 10:25:48 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2013-07-15 10:25:48 +0200 |
commit | abc2d8074ae190486e3f620075e25498c1b2791c (patch) | |
tree | af43e59575bb2a233dfe1487ef6186279511baed /gcc/fortran/parse.c | |
parent | 895a0c2df3542769fb381f0792cb543da01229ec (diff) | |
download | gcc-abc2d8074ae190486e3f620075e25498c1b2791c.zip gcc-abc2d8074ae190486e3f620075e25498c1b2791c.tar.gz gcc-abc2d8074ae190486e3f620075e25498c1b2791c.tar.bz2 |
trans-array.h (gfc_deallocate_alloc_comp_no_caf, [...]): New prototype.
2013-07-15 Tobias Burnus <burnus@net-b.de>
* trans-array.h (gfc_deallocate_alloc_comp_no_caf,
gfc_reassign_alloc_comp_caf): New prototype.
* trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
and COPY_ALLOC_COMP_CAF.
(structure_alloc_comps): Handle it.
(gfc_reassign_alloc_comp_caf,
gfc_deallocate_alloc_comp_no_caf): New function.
(gfc_alloc_allocatable_for_assignment): Call it.
* trans-expr.c (gfc_trans_scalar_assign,
gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
* parse.c (parse_derived): Correctly set coarray_comp.
* resolve.c (resolve_symbol): Improve error wording.
2013-07-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_lib_realloc_1.f90: New.
* gfortran.dg/coarray/lib_realloc_1.f90: New.
* gfortran.dg/coarray_6.f90: Add dg-error.
From-SVN: r200955
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index f98a213..737f3d6 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -2228,11 +2228,11 @@ endType: sym->attr.coarray_comp = 1; } - if (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.coarray_comp) + if (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.coarray_comp + && !c->attr.pointer) { coarray = true; - if (!pointer && !allocatable) - sym->attr.coarray_comp = 1; + sym->attr.coarray_comp = 1; } /* Looking for lock_type components. */ |