Fortran Testcase: SUBROUTINE A13( X, XOLD, N, TOL ) !$OMP PARALLEL DO WHILE( TOOBIG > 0 ) !$OMP MASTER PRINT *, "Iteration ", C, " TOOBIG=", TOOBIG !$OMP END MASTER ENDDO !$OMP END PARALLEL END SUBROUTINE A12 ---------------- We get: D.1056 = *(.omp_data_i->toobig); Which is obviously not gimple. Again the testcase in PR 30142 is used to test for this.
This testcase is from gfortran.dg/gomp/appendix-a/a.12.1.f90.
Here is another testcase (a C one this time): int x, *p = &x; g (int n) { int i = 1, j, sum = 0; #pragma omp parallel reduction(+: sum) num_threads(2) { f1 (&j); sum += i + j + *p + n; } }
Actually never mind, this is caused by my patch to fix PR 30143.