Files
clang-p2996/flang/test/Semantics/OpenMP/atomic05.f90
Mats Petersson 00e1cc4c9d [flang][OpenMP]Add support for fail clause (#118683)
Support the atomic compare option of a fail(memory-order) clauses.

Additional tests introduced to check that parsing and semantics checks
for the new clause is handled.

Lowering for atomic compare is still unsupported and wil end in a TOOD
(aka "Not yet implemented"). A test for this case with the fail clause
is also present.
2024-12-11 16:29:02 +00:00

30 lines
1.1 KiB
Fortran

! REQUIRES: openmp_runtime
! RUN: %python %S/../test_errors.py %s %flang %openmp_flags -fopenmp-version=50
! 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