1! { dg-additional-options "-fdump-tree-original" }
2  implicit none
3  integer :: k, p, s, r, nth, t, f
4  logical(kind=2) l2
5  !$omp threadprivate (t)
6
7  external bar
8  !$omp parallel master default(none) private (k)
9    call bar (k)
10  !$omp end parallel master
11
12  !$omp parallel master private (p) firstprivate (f) if (parallel: l2) default(shared) &
13  !$omp& shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) copyin(t)
14     !
15  !$omp end parallel master
16end
17
18! { dg-final { scan-tree-dump "omp parallel private\\(k\\) default\\(none\\)" "original" } }
19! { dg-final { scan-tree-dump-times "#pragma omp master" 1 "original" } }
20! { dg-final { scan-tree-dump "D.\[0-9\]+ = l2;" "original" } }
21! { dg-final { scan-tree-dump "D.\[0-9\]+ = nth;" "original" } }
22! { dg-final { scan-tree-dump "#pragma omp parallel private\\(p\\) firstprivate\\(f\\) shared\\(s\\) copyin\\(t\\) reduction\\(\\+:r\\) if\\(parallel:D.\[0-9\]+\\) num_threads\\(D.\[0-9\]+\\) default\\(shared\\) proc_bind\\(spread\\)" "original" } }
23
24