testsuite: Fix recent regression of g++.dg/other/sse2-pr85572-1.C
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / taskgroup1.f90
bloba32d4440c16123eefb97c6207143e2c5acdb90b9
1 ! { dg-do run }
2 integer :: v(16), i
3 do i = 1, 16
4 v(i) = i
5 end do
7 !$omp parallel num_threads (4)
8 !$omp single
9 !$omp taskgroup
10 do i = 1, 16, 2
11 !$omp task
12 !$omp task
13 v(i) = v(i) + 1
14 !$omp end task
15 !$omp task
16 v(i + 1) = v(i + 1) + 1
17 !$omp end task
18 !$omp end task
19 end do
20 !$omp end taskgroup
21 do i = 1, 16
22 if (v(i).ne.(i + 1)) stop 1
23 end do
24 !$omp taskgroup
25 do i = 1, 16, 2
26 !$omp task
27 !$omp task
28 v(i) = v(i) + 1
29 !$omp endtask
30 !$omp task
31 v(i + 1) = v(i + 1) + 1
32 !$omp endtask
33 !$omp taskwait
34 !$omp endtask
35 end do
36 !$omp endtaskgroup
37 do i = 1, 16
38 if (v(i).ne.(i + 2)) stop 2
39 end do
40 !$omp taskgroup
41 do i = 1, 16, 2
42 !$omp task
43 !$omp task
44 v(i) = v(i) + 1
45 !$omp end task
46 v(i + 1) = v(i + 1) + 1
47 !$omp end task
48 end do
49 !$omp taskwait
50 do i = 1, 16, 2
51 !$omp task
52 v(i + 1) = v(i + 1) + 1
53 !$omp end task
54 end do
55 !$omp end taskgroup
56 do i = 1, 16, 2
57 if (v(i).ne.(i + 3)) stop 3
58 if (v(i + 1).ne.(i + 5)) stop 4
59 end do
60 !$omp taskgroup
61 do i = 1, 16, 2
62 !$omp taskgroup
63 !$omp task
64 v(i) = v(i) + 1
65 !$omp end task
66 !$omp task
67 v(i + 1) = v(i + 1) + 1
68 !$omp end task
69 !$omp end taskgroup
70 if (v(i).ne.(i + 4).or.v(i + 1).ne.(i + 6)) stop 5
71 !$omp task
72 v(i) = v(i) + 1
73 !$omp end task
74 end do
75 !$omp end taskgroup
76 do i = 1, 16
77 if (v(i).ne.(i + 5)) stop 6
78 end do
79 !$omp end single
80 !$omp end parallel
81 end