https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63861
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Cesar Philippidis from comment #0) > Coarrays in OpenACC accelerated regions causes an ICE in gfortran. The test > case gcc/testsuite/gfortran.dg/goacc/coarray.f95 reproduces this failure. It already ICEs for me with a normal variable: PR64726, besides it currently doesn't ICE because CACHE is not yet implemented: PR63865. Note that the test case should at the end also use -fcoarray=lib besides -fcoarray=single. > It's unclear whether OpenACC 2.0a even supports coarrays. Regardless, this > test case shouldn't cause an ICE. Regarding coarrays: If they are not coindexed ("a[remote_process_idx]"), they act as local variable. Thus, I'd expect that they work. Synchronization is in the realm of the user, who has to ensure that the host has the current value and the processes are sync'ed when remote access is required. [One probably should also reject calls to a procedures which expect a coarray as argument as that won't fly either. That's something to be done on best-effort base.] Thus, I think they should be permitted.