1! { dg-do run } 2 3program main 4 implicit none 5 6 type tnest 7 integer :: ia, ib, ic 8 end type tnest 9 10 type mytype 11 type(tnest) :: nest 12 integer :: a, b, c 13 end type mytype 14 15 type(mytype) :: myvar 16 integer :: i 17 18 myvar%a = 0 19 myvar%b = 0 20 myvar%c = 0 21 myvar%nest%ia = 0 22 myvar%nest%ib = 0 23 myvar%nest%ic = 0 24 25!$acc enter data copyin(myvar%nest) 26 27!$acc parallel present(myvar%nest) 28 myvar%nest%ia = 4 29 myvar%nest%ib = 5 30 myvar%nest%ic = 6 31!$acc end parallel 32 33!$acc exit data copyout(myvar%nest) 34 35 if (myvar%a .ne. 0) stop 1 36 if (myvar%b .ne. 0) stop 2 37 if (myvar%c .ne. 0) stop 3 38 if (myvar%nest%ia .ne. 4) stop 4 39 if (myvar%nest%ib .ne. 5) stop 5 40 if (myvar%nest%ic .ne. 6) stop 6 41end program main 42