OSDN Git Service

2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / c_loc_tests_14.f90
1 ! { dg-do compile }
2 !
3 ! PR fortran/38536
4 ! Accept as argument to C_LOC a subcomponent accessed through a pointer.
5
6   USE ISO_C_BINDING
7
8   IMPLICIT NONE
9   TYPE test3
10           INTEGER, DIMENSION(5) :: b
11   END TYPE test3
12
13   TYPE test2
14           TYPE(test3), DIMENSION(:), POINTER :: a
15   END TYPE test2
16
17   TYPE test
18           TYPE(test2), DIMENSION(2) :: c
19   END TYPE test
20
21   TYPE(test) :: chrScalar
22   TYPE(C_PTR) :: f_ptr
23   TYPE(test3), TARGET :: d(3)
24
25
26   chrScalar%c(1)%a => d
27   f_ptr = C_LOC(chrScalar%c(1)%a(1)%b(1))
28   end
29