1! { dg-do compile }
2! { dg-options "-fopenmp" }
3
4program main
5  integer :: x, y
6
7  x = 0
8  y = 0
9
10  !$omp parallel
11    !$omp parallel
12    block
13      call do_work
14    end block
15    !$omp end parallel
16  !$omp end parallel
17
18  !$omp workshare
19  block
20    x = 1
21    !$omp critical
22    block
23      y = 3
24    end block
25  end block
26
27  !$omp sections
28  block
29    !$omp section
30    block
31      x = 1
32    end block
33    x = x + 2
34    !$omp section
35    call do_work
36  end block
37
38  !$omp sections
39    !$omp section
40    block
41    end block
42    x = 1
43  !$omp end sections
44
45  !$omp sections
46  block
47    block
48    end block
49    x = 1
50  end block
51
52end program main
53