! RUN: %python %S/../test_errors.py %s %flang -fopenmp ! This tests the various semantics related to the clauses of various OpenMP atomic constructs program OmpAtomic use omp_lib integer :: g, x !ERROR: More than one memory order clause not allowed on OpenMP Atomic construct !$omp atomic relaxed, seq_cst x = x + 1 !ERROR: More than one memory order clause not allowed on OpenMP Atomic construct !$omp atomic read seq_cst, relaxed x = g !ERROR: More than one memory order clause not allowed on OpenMP Atomic construct !$omp atomic write relaxed, release x = 2 * 4 !ERROR: More than one memory order clause not allowed on OpenMP Atomic construct !$omp atomic update release, seq_cst !ERROR: Invalid or missing operator in atomic update statement x = 10 !ERROR: More than one memory order clause not allowed on OpenMP Atomic construct !$omp atomic capture release, seq_cst x = g g = x * 10 !$omp end atomic end program OmpAtomic