| ! based on pr59467.f90 but COPYPRIVATE on the directive |
| ! { dg-additional-options "-fdump-tree-original" } |
| |
| FUNCTION t() |
| INTEGER :: a, b, t |
| a = 0 |
| b = 0 |
| t = b |
| b = 0 |
| !$OMP PARALLEL REDUCTION(+:b) |
| !$OMP SINGLE COPYPRIVATE (b) |
| !$OMP ATOMIC WRITE |
| b = 6 |
| !$OMP END SINGLE |
| !$OMP END PARALLEL |
| t = t + b |
| END FUNCTION |
| |
| ! { dg-final { scan-tree-dump-times "#pragma omp parallel reduction\\(\\+:b\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma omp single copyprivate\\(b\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma omp atomic relaxed" 1 "original" } } |