! { dg-do compile } SUBROUTINE WORK(I, J) INTEGER I, J END SUBROUTINE WORK SUBROUTINE GOOD_NESTING(N) INTEGER N INTEGER I !$OMP PARALLEL DEFAULT(SHARED) !$OMP DO DO I = 1, N !$OMP PARALLEL SHARED(I,N) !$OMP DO DO J = 1, N CALL WORK(I,J) END DO !$OMP END PARALLEL END DO !$OMP END PARALLEL END SUBROUTINE GOOD_NESTING