http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60661
--- Comment #3 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- We have to be a bit careful about statement like do concurrent(i=1:n, a(i)>sum(a)/n) a(i) = a(i) * 0.5 end do which really have to be before the execution of the loop body itself.