| ! { dg-do run } | |
| module mymod | |
| type F | |
| integer :: a, b, c | |
| integer, dimension(10) :: d | |
| end type F | |
| type G | |
| integer :: x, y | |
| type(F), pointer :: myf | |
| integer :: z | |
| end type G | |
| end module mymod | |
| program myprog | |
| use mymod | |
| type(F), target :: ftmp | |
| type(G) :: gvar | |
| gvar%myf => ftmp | |
| gvar%myf%d = 0 | |
| !$omp target map(to:gvar%myf) map(tofrom: gvar%myf%b, gvar%myf%d) | |
| gvar%myf%d(1) = gvar%myf%d(1) + 1 | |
| !$omp end target | |
| if (gvar%myf%d(1).ne.1) stop 1 | |
| end program myprog |