1module m
2  integer :: a, b
3end module m
4
5subroutine foo (void)
6  use m
7  !$omp flush
8  !$omp flush (a, b)
9  !$omp flush acquire
10  !$omp flush release
11  !$omp flush acq_rel
12  !$omp flush seq_cst
13  !$omp flush relaxed		! { dg-error "Expected SEQ_CST, AQC_REL, RELEASE, or ACQUIRE" }
14  !$omp flush foobar		! { dg-error "Expected SEQ_CST, AQC_REL, RELEASE, or ACQUIRE" }
15  !$omp flush acquire (a, b)	! { dg-error "List specified together with memory order clause in FLUSH directive" }
16  !$omp flush release (a, b)	! { dg-error "List specified together with memory order clause in FLUSH directive" }
17  !$omp flush acq_rel (a, b)	! { dg-error "List specified together with memory order clause in FLUSH directive" }
18  !$omp flush seq_cst (a, b)	! { dg-error "List specified together with memory order clause in FLUSH directive" }
19  end
20