diff --git a/flang/lib/Semantics/check-directive-structure.h b/flang/lib/Semantics/check-directive-structure.h index 4a4893fe805a2..b1bf3e550aebc 100644 --- a/flang/lib/Semantics/check-directive-structure.h +++ b/flang/lib/Semantics/check-directive-structure.h @@ -76,6 +76,8 @@ template class NoBranchingEnforce { case llvm::omp::Directive::OMPD_distribute_parallel_for: case llvm::omp::Directive::OMPD_distribute_simd: case llvm::omp::Directive::OMPD_distribute_parallel_for_simd: + case llvm::omp::Directive::OMPD_target_teams_distribute: + case llvm::omp::Directive::OMPD_target_teams_distribute_simd: case llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do: case llvm::omp::Directive:: OMPD_target_teams_distribute_parallel_do_simd: diff --git a/flang/test/Semantics/OpenMP/do05-positivecase.f90 b/flang/test/Semantics/OpenMP/do05-positivecase.f90 index 8481cb2fc2ca0..eda04610535c2 100644 --- a/flang/test/Semantics/OpenMP/do05-positivecase.f90 +++ b/flang/test/Semantics/OpenMP/do05-positivecase.f90 @@ -57,4 +57,18 @@ program omp_do if(i<10) cycle end do !$omp end target teams distribute parallel do simd + + !$omp target teams distribute + !DEF: /omp_do/OtherConstruct6/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) + do i=1,100 + !REF: /omp_do/OtherConstruct6/i + if(i < 5) cycle + end do + + !$omp target teams distribute simd + !DEF: /omp_do/OtherConstruct7/i (OmpLinear, OmpPreDetermined) HostAssoc INTEGER(4) + do i=1,100 + !REF: /omp_do/OtherConstruct7/i + if(i < 5) cycle + end do end program omp_do