FUNCTION t() | |
INTEGER :: a, b, t | |
a = 0 | |
t = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE COPYPRIVATE (b) NOWAIT ! { dg-error "NOWAIT clause must not be used with COPYPRIVATE clause" } | |
!$OMP ATOMIC WRITE | |
b = 6 | |
!$OMP END SINGLE | |
!$OMP END PARALLEL | |
t = t + b | |
END FUNCTION | |
FUNCTION t2() | |
INTEGER :: a, b, t2 | |
a = 0 | |
t2 = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE NOWAIT COPYPRIVATE (b) ! { dg-error "NOWAIT clause must not be used with COPYPRIVATE clause" } | |
!$OMP ATOMIC WRITE | |
b = 6 | |
!$OMP END SINGLE | |
!$OMP END PARALLEL | |
t2 = t2 + b | |
END FUNCTION | |
FUNCTION t3() | |
INTEGER :: a, b, t3 | |
a = 0 | |
t3 = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE COPYPRIVATE (b) ! { dg-error "NOWAIT clause must not be used with COPYPRIVATE clause" } | |
!$OMP ATOMIC WRITE | |
b = 6 | |
!$OMP END SINGLE NOWAIT | |
!$OMP END PARALLEL | |
t3 = t3 + b | |
END FUNCTION | |
FUNCTION t4() | |
INTEGER :: a, b, t4 | |
a = 0 | |
t4 = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE | |
!$OMP ATOMIC WRITE | |
b = 6 | |
!$OMP END SINGLE NOWAIT COPYPRIVATE (b) ! { dg-error "NOWAIT clause must not be used with COPYPRIVATE clause" } | |
!$OMP END PARALLEL | |
t4 = t4 + b | |
END FUNCTION | |
FUNCTION t5() | |
INTEGER :: a, b, t5 | |
a = 0 | |
t5 = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE | |
!$OMP ATOMIC WRITE | |
b = 6 | |
!$OMP END SINGLE COPYPRIVATE (b) NOWAIT ! { dg-error "NOWAIT clause must not be used with COPYPRIVATE clause" } | |
!$OMP END PARALLEL | |
t5 = t5 + b | |
END FUNCTION | |
FUNCTION t6() | |
INTEGER :: a, b, t6 | |
a = 0 | |
t6 = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE NOWAIT | |
!$OMP ATOMIC WRITE | |
b = 6 | |
!$OMP END SINGLE COPYPRIVATE (b) ! { dg-error "NOWAIT clause must not be used with COPYPRIVATE clause" } | |
!$OMP END PARALLEL | |
t6 = t6 + b | |
END FUNCTION | |
FUNCTION t7() | |
INTEGER :: a, b, t7 | |
a = 0 | |
t7 = b | |
b = 0 | |
!$OMP PARALLEL REDUCTION(+:b) | |
!$OMP SINGLE COPYPRIVATE (b) | |
!$OMP ATOMIC WRITE | |
b = 7 | |
!$OMP END SINGLE COPYPRIVATE (b) ! { dg-error "Symbol 'b' present on multiple clauses" } | |
!$OMP END PARALLEL | |
t7 = t7 + b | |
END FUNCTION |