http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53526
Bug #: 53526
Summary: [Coarray] (lib) Properly handle MOVE_ALLOC for
coarrays
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
MOVE_ALLOC needs to be properly handled for coarrays.
Cf. F08/0040 at http://j3-fortran.org/doc/year/12/12-006A.txt
and http://j3-fortran.org/pipermail/j3/2012-May/005310.html
and http://gcc.gnu.org/ml/fortran/2012-05/msg00156.html
and http://gcc.gnu.org/ml/fortran/2012-05/msg00166.html
TODO:
- Check whether an (implied) SYNC ALL has to be inserted
-> The main issue is probably the deallocation of TO;
probably no extra care is required, except to ensure that
the deallocation is properly done.
- Check whether the "token" is correctly transferred
- Check whether some library action is required.
-> Probably not.
>From F08/0040:
QUESTION:
Was it intended that MOVE_ALLOC be applicable to coarrays?
ANSWER:
Yes. A call to MOVE_ALLOC on coarrays might involve the deallocation
of a coarray, therefore MOVE_ALLOC needs to be an image control
statement.
Also, the corank of FROM and TO needs to be the same.