48 lines · plain
1! Testing the Semantic failure of forming loop sequences under regular OpenMP directives 2 3!RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=604 5subroutine loop_transformation_construct36 implicit none7 integer, parameter :: i = 58 integer :: x9 integer :: v(i)10 11 !ERROR: The loop sequence following the DO construct must be fully fused first.12 !$omp do13 !$omp fuse looprange(1,2)14 do x = 1, i15 v(x) = x * 216 end do17 do x = 1, i18 v(x) = x * 219 end do20 do x = 1, i21 v(x) = x * 222 end do23 !$omp end fuse24 !$omp end do25end subroutine26 27subroutine loop_transformation_construct428 implicit none29 integer, parameter :: i = 530 integer :: x31 integer :: v(i)32 33 !ERROR: The loop sequence following the TILE construct must be fully fused first.34 !$omp tile sizes(2)35 !$omp fuse looprange(1,2)36 do x = 1, i37 v(x) = x * 238 end do39 do x = 1, i40 v(x) = x * 241 end do42 do x = 1, i43 v(x) = x * 244 end do45 !$omp end fuse46 !$omp end tile47end subroutine48