annotate gcc/testsuite/gfortran.dg/pr32627.f03 @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do run }
kono
parents:
diff changeset
2 ! { dg-additional-sources pr32627_driver.c }
kono
parents:
diff changeset
3 ! Verify that c_f_pointer exists for string arguments.
kono
parents:
diff changeset
4 program main
kono
parents:
diff changeset
5 use iso_c_binding
kono
parents:
diff changeset
6 implicit none
kono
parents:
diff changeset
7 interface
kono
parents:
diff changeset
8 function get_c_string() bind(c)
kono
parents:
diff changeset
9 use, intrinsic :: iso_c_binding, only: c_ptr
kono
parents:
diff changeset
10 type(c_ptr) :: get_c_string
kono
parents:
diff changeset
11 end function get_c_string
kono
parents:
diff changeset
12 end interface
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 type, bind( c ) :: A
kono
parents:
diff changeset
15 integer( c_int ) :: xc, yc
kono
parents:
diff changeset
16 type( c_ptr ) :: str
kono
parents:
diff changeset
17 end type
kono
parents:
diff changeset
18 type( c_ptr ) :: x
kono
parents:
diff changeset
19 type( A ), pointer :: fptr
kono
parents:
diff changeset
20 type( A ), target :: my_a_type
kono
parents:
diff changeset
21 character( len=8 ), pointer :: strptr
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 fptr => my_a_type
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 fptr%str = get_c_string()
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 call c_f_pointer( fptr%str, strptr )
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 print *, 'strptr is: ', strptr
kono
parents:
diff changeset
30 end program main
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32