comparison gcc/testsuite/gfortran.dg/pr32627.f03 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 ! { dg-do run }
2 ! { dg-additional-sources pr32627_driver.c }
3 ! Verify that c_f_pointer exists for string arguments.
4 program main
5 use iso_c_binding
6 implicit none
7 interface
8 function get_c_string() bind(c)
9 use, intrinsic :: iso_c_binding, only: c_ptr
10 type(c_ptr) :: get_c_string
11 end function get_c_string
12 end interface
13
14 type, bind( c ) :: A
15 integer( c_int ) :: xc, yc
16 type( c_ptr ) :: str
17 end type
18 type( c_ptr ) :: x
19 type( A ), pointer :: fptr
20 type( A ), target :: my_a_type
21 character( len=8 ), pointer :: strptr
22
23 fptr => my_a_type
24
25 fptr%str = get_c_string()
26
27 call c_f_pointer( fptr%str, strptr )
28
29 print *, 'strptr is: ', strptr
30 end program main
31
32