https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120958
--- Comment #27 from kargls at comcast dot net --- On 7/17/25 08:04, tkoenig at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120958 > > Thomas Koenig <tkoenig at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Keywords| |needs-stdcheck > > --- Comment #26 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- > Another thought... is ASYNCHRONOUS even the right attribute? > It is defined for asynchronous I/O only and has a very specific > meaning, which is not what MPI is doing with it. > > A safe approach would be VOLATILE, but that would ignore > MPI_BARRIER. > > Is there some sort of MPI standardization committee? Who defines > the spec, and do they have anything to say about this? > F2008, 5.3.4 ASYNCHRONOUS attribute An entity with the ASYNCHRONOUS attribute is a variable that may be subject to asynchronous input/output. F2018, 8.5.4 ASYNCHRONOUS attribute An entity with the ASYNCHRONOUS attribute is a variable, and may be subject to asynchronous input/output or asynchronous communication. The base object of a variable shall have the ASYNCHRONOUS attribute in a scoping unit if * the variable is a dummy argument or appears in an executable statement or specification expression in that scoping unit, and * any statement of the scoping unit is executed while the variable is a pending input/output storage sequence affector (12.6.2.5) or a pending communication affector (18.10.4). Notice the asynchronous communication part. That was added to deal with MPI (along with assumed-rank and assumed-type) and likely to allow improvements to coarray Fortran. The code that Martin originally posted is (nearly) the same as the example in 18.10.4. AFAIK, there isn't a J3-like standardization committee. However, there is https://www.mpi-forum.org/. It appears that Jeff Hammond is/was the MPI liason to J3. https://j3-fortran.org/doc/year/24/24-115.txt.