Files
clang-p2996/flang/test/Semantics/loop-directives.f90
jeanPerier a527248a3c [flang][acc] allow and ignore DIR between ACC and loops (#106522)
The current pattern was failing OpenACC semantics in acc parse tree
canonicalization:

```
!acc loop
!dir vector aligned
do i=1,n
...
```

Fix it by moving the directive before the OpenACC construct node.

Note that I think it could make sense to propagate the $dir info to the
acc.loop, at least with classic flang, the $dir seems to make a
difference. This is not done here since few directives are supported
anyway.
2024-08-30 08:27:38 +02:00

31 lines
720 B
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1 -Werror
! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenacc -Werror
subroutine empty
! WARNING: A DO loop must follow the VECTOR ALWAYS directive
!dir$ vector always
end subroutine empty
subroutine non_do
! WARNING: A DO loop must follow the VECTOR ALWAYS directive
!dir$ vector always
a = 1
end subroutine non_do
subroutine execution_part
do i=1,10
! WARNING: A DO loop must follow the VECTOR ALWAYS directive
!dir$ vector always
end do
end subroutine execution_part
! OK
subroutine test_vector_always_before_acc(a, b, c)
real, dimension(10) :: a,b,c
!dir$ vector always
!$acc loop
do i=1,N
a(i) = b(i) + c(i)
enddo
end subroutine