(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
gomp/
copyprivate-2.f90
  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