! RUN: %python %S/../test_errors.py %s %flang -fopenmp
! OpenMP Version 5.0
! 2.9.3.1 simd Construct
! - A program that branches into or out of a simd region is non-conforming.
! - The associated loops must be structured blocks
program omp_simd
integer i, j
!$omp simd
do i = 1, 10
do j = 1, 10
print *, "omp simd"
!ERROR: invalid branch leaving an OpenMP structured block
goto 10
end do
if (i .EQ. 5) THEN
call function1()
else if (i .EQ. 7) THEN
open (10, file="random-file-name.txt", err=20)
20 print *, "Error message doesn't branch out of the loop's structured block"
else
!ERROR: invalid branch leaving an OpenMP structured block
open (10, file="random-file-name.txt", err=10)
end if
end do
!$omp end simd
10 stop
end program omp_simd
subroutine function1()
integer i, option
option = 1
!$omp simd
do i = 1, 10
print *, "CORRECT SIMD LOOP"
end do
!$omp end simd
end subroutine function1