40 lines
1 KiB
Fortran
40 lines
1 KiB
Fortran
! 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
|