2 ! Verify that the type and rank of the SHAPE argument are enforced.
3 module c_f_pointer_shape_tests_3
4 use, intrinsic :: iso_c_binding
7 subroutine sub0(my_c_array) bind(c)
8 type(c_ptr), value :: my_c_array
9 integer(c_int), dimension(:), pointer :: my_array_ptr
11 call c_f_pointer(my_c_array, my_array_ptr, (/ 10.0 /)) ! { dg-error "must be INTEGER" }
14 subroutine sub1(my_c_array) bind(c)
15 type(c_ptr), value :: my_c_array
16 integer(c_int), dimension(:), pointer :: my_array_ptr
17 integer(c_int), dimension(1,1) :: shape
20 call c_f_pointer(my_c_array, my_array_ptr, shape) ! { dg-error "must be of rank 1" }
22 end module c_f_pointer_shape_tests_3