1! { dg-do run } 2! { dg-additional-sources c_loc_driver.c } 3module c_loc_test 4implicit none 5 6contains 7 subroutine test0() bind(c) 8 use, intrinsic :: iso_c_binding 9 implicit none 10 integer, target :: x 11 type(c_ptr) :: my_c_ptr 12 interface 13 subroutine test_address(x, expected_value) bind(c) 14 use, intrinsic :: iso_c_binding 15 type(c_ptr), value :: x 16 integer(c_int), value :: expected_value 17 end subroutine test_address 18 end interface 19 x = 100 20 my_c_ptr = c_loc(x) 21 call test_address(my_c_ptr, 100) 22 end subroutine test0 23end module c_loc_test 24