http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25829

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #19 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-04 
18:08:14 UTC ---
(In reply to comment #16)
>   subroutine finish(var, wait)
>     asynchronous :: var
>     wait(wait)
>     var = 7
>   end subroutine finish
> 
> Here, the ME might be tempted to change the order of WAIT and "var = 7"; thus
> in this case we probably need to tell the ME about the ASYNCHRONOUS attribute.

A brute-force method would be to add a __sync_synchronize
(BUILT_IN_SYNCHRONIZE) call after the WAIT. But maybe one finds a better way
which restricts the barrier to only "var" (and other asynchronous variables)
without influencing unrelated variables.

Reply via email to