xref: /llvm-project/flang/test/Examples/omp-declarative-directive.f90 (revision e73ec1a74af3a390af5a77dea64022019a2a5686)
15c52753dSAndrzej Warzynski! REQUIRES: plugins, examples, shell
238c42d42SStuart Ellis
338c42d42SStuart Ellis! RUN: %flang_fc1 -load %llvmshlibdir/flangOmpReport.so -plugin flang-omp-report -fopenmp %s -o - | FileCheck %s
438c42d42SStuart Ellis
538c42d42SStuart Ellis! Check OpenMP declarative directives
638c42d42SStuart Ellis
738c42d42SStuart Ellis! 2.8.2 declare-simd
838c42d42SStuart Ellis
938c42d42SStuart Ellissubroutine declare_simd_1(a, b)
10*e73ec1a7SThirumalai Shaktivel  real(8), intent(inout), allocatable :: a, b
1138c42d42SStuart Ellis  !$omp declare simd(declare_simd_1) aligned(a)
1238c42d42SStuart Ellis  a = 3.14 + b
1338c42d42SStuart Ellisend subroutine declare_simd_1
1438c42d42SStuart Ellis
1538c42d42SStuart Ellis! 2.10.6 declare-target
1638c42d42SStuart Ellis! 2.15.2 threadprivate
1738c42d42SStuart Ellis
1838c42d42SStuart Ellismodule m2
1938c42d42SStuart Elliscontains
2038c42d42SStuart Ellis  subroutine foo
2138c42d42SStuart Ellis    !$omp declare target
2238c42d42SStuart Ellis    integer, parameter :: N=10000, M=1024
2338c42d42SStuart Ellis    integer :: i
2438c42d42SStuart Ellis    real :: Q(N, N), R(N,M), S(M,M)
2538c42d42SStuart Ellis  end subroutine foo
2638c42d42SStuart Ellisend module m2
2738c42d42SStuart Ellis
2838c42d42SStuart Ellisend
2938c42d42SStuart Ellis
3038c42d42SStuart Ellis! CHECK:---
3138c42d42SStuart Ellis! CHECK-NEXT:- file:            '{{[^"]*}}omp-declarative-directive.f90'
320a95abb7SJosh Mottley! CHECK-NEXT:  line:            11
3338c42d42SStuart Ellis! CHECK-NEXT:  construct:       declare simd
3438c42d42SStuart Ellis! CHECK-NEXT:  clauses:
3538c42d42SStuart Ellis! CHECK-NEXT:    - clause:      aligned
3638c42d42SStuart Ellis! CHECK-NEXT:      details:     a
3738c42d42SStuart Ellis! CHECK-NEXT:- file:            '{{[^"]*}}omp-declarative-directive.f90'
380a95abb7SJosh Mottley! CHECK-NEXT:  line:            21
3938c42d42SStuart Ellis! CHECK-NEXT:  construct:       declare target
4038c42d42SStuart Ellis! CHECK-NEXT:  clauses:         []
4138c42d42SStuart Ellis! CHECK-NEXT:...
42