https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106449
--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> --- Comment on attachment 53362 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53362 gcc13-pr106449.patch The code does not seem to work. If I add: void foobar(int *a, int*b) { __builtin_printf("%lu\n", b-a); } and use it in place for the ';' in the loops, when then calling foo(); bar(64, 128); While foo() with and without OpenMP and - with -fno-openmp - also bar(64,128) give all identical result. But -fopenmp, 'bar' does not call 'foobar' at all (no printf output).