blob: 130f3716e1ebd1bf9a6a2a28ac76ce61dc4e820f [file] [log] [blame]
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