blob: f8695e00642d2d09eb59d61bc7f2a82de60c0931 (
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
26
27
28
29
30
31
32
|
! { dg-do run }
! { dg-additional-sources pr32627_driver.c }
! Verify that c_f_pointer exists for string arguments.
program main
use iso_c_binding
implicit none
interface
function get_c_string() bind(c)
use, intrinsic :: iso_c_binding, only: c_ptr
type(c_ptr) :: get_c_string
end function get_c_string
end interface
type, bind( c ) :: A
integer( c_int ) :: xc, yc
type( c_ptr ) :: str
end type
type( c_ptr ) :: x
type( A ), pointer :: fptr
type( A ), target :: my_a_type
character( len=9 ), pointer :: strptr
fptr => my_a_type
fptr%str = get_c_string()
call c_f_pointer( fptr%str, strptr )
print *, 'strptr is: ', strptr
end program main
|