[committed] Improve is-coindexed check for OpenACC/OpenMP (was: [PATCH 10/13] OpenACC 2.6 deep copy: Fortran front-end parts)

Tobias Burnus tobias@codesourcery.com
Fri Dec 20 11:23:00 GMT 2019


Julian has committed that patch as Rev. 279628.

Follow up regarding coarrays:

I had proposed to use 'gfc_is_coindexed' instead of only checking the 
rightmost array reference. However, it turned out that this check comes 
too late. (As did the check before Julian's patch.)

Namely, when checking in resolve_omp_clauses the gfc_resolve_expr seems 
to have called – and this changes the expression.  Example: "A[2]" will 
be converted into a function call "_F.caf_get[[A]]" with -fcoarray=lib — 
or to "A" with -fcoarray=single.

Hence, I moved the coindexed check directly after parsing and added a 
test case for it. Coarrays by itself should be fine as they act as 
normal local variables – just that they are allocated by 
_gfortran_caf_register instead of malloc, stack or static allocation.

Committed as Rev. 279637.

Cheers,

Tobias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: committed.diff
Type: text/x-patch
Size: 3162 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20191220/e011dd6e/attachment.bin>


More information about the Fortran mailing list