! { dg-do compile } integer :: i, j, k integer :: x(5), y(2,5) !$omp parallel do private(i) do i = 1, 5 x(i) = 42 end do !$omp parallel do lastprivate(i) do i = 1, 5 x(i) = 42 end do !$omp simd private(i) do i = 1, 5 x(i) = 42 end do !$omp simd linear(i) do i = 1, 5 x(i) = 42 end do !$omp simd lastprivate(i) do i = 1, 5 x(i) = 42 end do !$omp simd private(i) lastprivate(j) collapse(2) do i = 1, 5 do j = 1, 2 y(j, i) = 52 end do end do !$omp simd lastprivate(i) private(j) collapse(2) do i = 1, 5 do j = 1, 2 y(j, i) = 52 end do end do !$omp parallel do firstprivate(i) do i = 1, 5 ! { dg-error "PARALLEL DO iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE" } x(i) = 42 end do !$omp parallel do simd firstprivate(i) do i = 1, 5 ! { dg-error "PARALLEL DO SIMD iteration variable present on clause other than PRIVATE, LASTPRIVATE, ALLOCATE or LINEAR" } x(i) = 42 end do !$omp simd linear(i) collapse(2) do i = 1, 5 ! { dg-error "SIMD iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE" } do j = 1, 2 y(j, i) = 52 end do end do end