! REQUIRES: plugins, examples, shell
! RUN: %flang_fc1 -load %llvmshlibdir/flangOmpReport.so -plugin flang-omp-report -fopenmp %s -o - | FileCheck %s
! Check OpenMP declarative directives
! 2.8.2 declare-simd
subroutine declare_simd_1(a, b)
real(8), intent(inout) :: a, b
!$omp declare simd(declare_simd_1) aligned(a)
a = 3.14 + b
end subroutine declare_simd_1
! 2.10.6 declare-target
! 2.15.2 threadprivate
module m2
contains
subroutine foo
!$omp declare target
integer, parameter :: N=10000, M=1024
integer :: i
real :: Q(N, N), R(N,M), S(M,M)
end subroutine foo
end module m2
end
! CHECK:---
! CHECK-NEXT:- file: '{{[^"]*}}omp-declarative-directive.f90'
! CHECK-NEXT: line: 11
! CHECK-NEXT: construct: declare simd
! CHECK-NEXT: clauses:
! CHECK-NEXT: - clause: aligned
! CHECK-NEXT: details: a
! CHECK-NEXT:- file: '{{[^"]*}}omp-declarative-directive.f90'
! CHECK-NEXT: line: 21
! CHECK-NEXT: construct: declare target
! CHECK-NEXT: clauses: []
! CHECK-NEXT:...