https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109767
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Even subroutine foo integer :: i, j !$omp parallel do i = 1, 10 do j = 1, 10 end do end do !$omp end parallel end subroutine subroutine bar integer :: i, j !$omp teams do i = 1, 10 do j = 1, 10 end do end do !$omp end teams end subroutine subroutine baz integer :: i, j !$omp parallel !$omp loop bind(parallel) do i = 1, 10 do j = 1, 10 end do end do !$omp end parallel end subroutine subroutine qux integer :: i, j !$omp teams !$omp loop bind(teams) do i = 1, 10 do j = 1, 10 end do end do !$omp end teams end subroutine has grep private pr109767.f90.005t.original #pragma omp parallel private(i) private(j) #pragma omp teams private(i) private(j) #pragma omp parallel private(j) #pragma omp teams private(j)