2024-11-13 11:07:08 -08:00

49 lines
1.0 KiB
Fortran

! @@name: standalone.1
! @@type: F-free
! @@operation: compile
! @@expect: ct-error
! @@version: omp_3.1
SUBROUTINE STANDALONE_WRONG()
INTEGER A
A = 1
! the FLUSH directive must not be the action statement
! in an IF statement
IF (A .NE. 0) !$OMP FLUSH(A)
! the BARRIER directive must not be the action statement
! in an IF statement
IF (A .NE. 0) !$OMP BARRIER
! the TASKWAIT directive must not be the action statement
! in an IF statement
IF (A .NE. 0) !$OMP TASKWAIT
! the TASKYIELD directive must not be the action statement
! in an IF statement
IF (A .NE. 0) !$OMP TASKYIELD
GOTO 100
! the FLUSH directive must not be a labeled branch target
! statement
100 !$OMP FLUSH(A)
GOTO 200
! the BARRIER directive must not be a labeled branch target
! statement
200 !$OMP BARRIER
GOTO 300
! the TASKWAIT directive must not be a labeled branch target
! statement
300 !$OMP TASKWAIT
GOTO 400
! the TASKYIELD directive must not be a labeled branch target
! statement
400 !$OMP TASKYIELD
END SUBROUTINE