llvm-project/flang/test/Semantics/omp-task01.f90
Praveen G 956a84da06 [flang] [OpenMP 4.5] Adding lit test cases for OpenMP Constructs.
1. Section 2.5   : Parallel Construct
 2. Section 2.7.1 : Loop Construct
 3. Section 2.7.2 : Sections Construct
 4. Section 2.7.3 : Single Construct
 5. Section 2.7.4 : Workshare Construct
 6. Section 2.8.1 : Simd Construct
 7. Section 2.8.3 : Loop Simd Construct
 8. Section 2.9.1 : Task Construct
 9. Section 2.9.2 : Taskloop Construct
10. Section 2.9.3 : Taskloop Simd Construct

Most of the test cases added as part of this change contains semantic errors except few cases which are semantically correct but thrown a semantic error.

Currently flang is not throwing the errors for these cases and throwing semantic errors for the following correct test cases

{omp-do03.f90 , omp-loop-simd01.f90 , omp-simd02.f90 , omp-taskloop01.f90}

Hence, all the test cases are marked as XFAIL.

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D87908
2020-09-24 13:09:20 +01:00

33 lines
593 B
Fortran

! RUN: %S/test_errors.sh %s %t %f18 -fopenmp
! XFAIL: *
! OpenMP Version 4.5
! 2.9.1 task Construct
! Invalid entry to OpenMP structured block.
recursive subroutine traverse ( P )
type Node
type(Node), pointer :: left, right
end type Node
type(Node) :: P
!ERROR: invalid entry to OpenMP structured block
goto 10
if (associated(P%left)) then
!$omp task
call traverse(P%left)
10 stop
!$omp end task
endif
if (associated(P%right)) then
!$omp task
call traverse(P%right)
!$omp end task
endif
call process ( P )
end subroutine traverse