http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60127
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Thomas Koenig from comment #2) > Am I overlooking something basic here? a) You also can have DO CONCURRENT(i=1:5, j=1:5) but your code only handles one variable (by looking at the wrong variable). b) You also can have a MASK, which your code does not handle. See also my e-mail regarding OpenACC: http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01020.html And for an implementation: http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01253.html However, that implementation does not handle MASK which require temporaries, see http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01391.html The non-OpenMP/non-OpenACC code always generates a temporary; see PR60661.