aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/goacc/declare-3.f95
blob: 9127cba6600d7acb18bda5db29bf57692545f033 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
! Test valid usage of the OpenACC 'declare' directive.

! { dg-additional-options "-fdump-tree-original" }

module mod_a
  implicit none
  integer :: a
  !$acc declare create (a)
end module

module mod_b
  implicit none
  integer :: b
  !$acc declare copyin (b)
end module

module mod_d
  implicit none
  integer :: d
  !$acc declare device_resident (d)
end module

module mod_e
  implicit none
  integer :: e
  !$acc declare link (e)
end module

subroutine sub1
  use mod_a
  use mod_b
  use mod_d
  use mod_e
end subroutine sub1

program test
  use mod_a
  use mod_b
  use mod_d
  use mod_e

  ! { dg-final { scan-tree-dump {(?n)#pragma acc data map\(force_alloc:d\) map\(force_to:b\) map\(force_alloc:a\)$} original } }
end program test

! { dg-final { scan-tree-dump-times {#pragma acc data} 1 original } }