1  integer :: i, j, k, l
2  integer, dimension (10, 10) :: a
3!$omp parallel do default (none) shared (a)
4  do i = 1, 10
5    j = 4
6    do j = 1, 10
7      a(i, j) = i + j
8    end do
9    j = 8
10  end do
11!$omp end parallel do
12!$omp parallel default (none) shared (a) ! { dg-error "enclosing 'parallel'" }
13  i = 1
14  j = 1
15  k = 1
16  l = 1		! { dg-error "not specified in" }
17  do i = 1, 10
18    a(i, 1) = 1
19  end do
20!$omp critical
21  do j = 1, 10
22    a(1, j) = j
23  end do
24!$omp end critical
25!$omp single
26  do k = 1, 10
27    a(k, k) = k
28  end do
29!$omp end single
30!$omp end parallel
31!$omp parallel default (none) shared (a) ! { dg-error "enclosing 'parallel'" }
32  i = 1		! { dg-error "not specified in" }
33  j = 1		! { dg-error "not specified in" }
34  k = 1		! { dg-error "not specified in" }
35!$omp parallel default (none) shared (a)
36  i = 1
37  j = 1
38  k = 1
39  do i = 1, 10
40    a(i, 1) = 1
41  end do
42!$omp critical
43  do j = 1, 10
44    a(1, j) = j
45  end do
46!$omp end critical
47!$omp single
48  do k = 1, 10
49    a(k, k) = k
50  end do
51!$omp end single
52!$omp end parallel
53  i = 1
54  j = 1
55  k = 1
56!$omp end parallel
57!$omp parallel default (none) shared (a) ! { dg-error "enclosing 'parallel'" }
58  i = 1		! { dg-error "not specified in" }
59!$omp do
60  do i = 1, 10
61    a(i, 1) = i + 1
62  end do
63!$omp end parallel
64!$omp parallel default (none) shared (a) ! { dg-error "enclosing 'parallel'" }
65  i = 1		! { dg-error "not specified in" }
66!$omp parallel do default (none) shared (a)
67  do i = 1, 10
68    a(i, 1) = i + 1
69  end do
70!$omp end parallel
71!$omp parallel default (none) shared (a) ! { dg-error "enclosing 'parallel'" }
72  i = 1		! { dg-error "not specified in" }
73!$omp parallel default (none) shared (a, i)
74  i = 2
75!$omp parallel default (none) shared (a)
76  do i = 1, 10
77    a(i, 1) = i
78  end do
79!$omp end parallel
80  i = 3
81!$omp end parallel
82  i = 4
83!$omp end parallel
84end
85