aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.oacc-fortran/acc-attach-detach-1.f90
blob: 15393b456c855ba7a63e21cbabe2d140d1020b42 (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
! { dg-do compile }
! { dg-additional-options "-fdump-tree-original" }

use openacc
implicit none (type, external)
integer,pointer :: a, b(:)
integer,allocatable :: c, d(:)

call acc_attach(a)  ! ICE
call acc_attach_async(b, 4)
call acc_attach(c)

call acc_detach(a)
call acc_detach_async(b, 4)
call acc_detach_finalize(c)
call acc_detach_finalize_async(d,7)
end

! { dg-final { scan-tree-dump-times "acc_attach \\(&a\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "acc_attach_async \\(&\\(integer\\(kind=4\\)\\\[0:\\\] \\*\\) b.data, 4\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "acc_attach \\(&c\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "acc_detach \\(&a\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "acc_detach_async \\(&\\(integer\\(kind=4\\)\\\[0:\\\] \\*\\) b.data, 4\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "acc_detach_finalize \\(&c\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "acc_detach_finalize_async \\(&\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) d.data, 7\\);" 1 "original" } }