https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68516
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |jakub at gcc dot gnu.org Resolution|--- |FIXED --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- This is not valid OpenMP, GCC trunk properly rejects it: pr68516.c: In function ‘main’: pr68516.c:7:23: error: initializer expression refers to iteration variable ‘i’ for (int k = a[i]; k < 0; k++) { ~^~~ As it is just ICE on invalid, not going to backport the fixes (which are related to the OpenMP 4.5 wording that simplified this anyway). The OpenMP 4.0 rule is: "The iteration count for each associated loop is computed before entry to the outermost loop. If execution of any associated loop changes any of the values used to compute any of the iteration counts, then the behavior is unspecified." Marking as fixed in GCC 6+.