| ! { dg-do run } |
| ! { dg-additional-sources bind_c_array_params_3_aux.c } |
| ! |
| ! PR fortran/92284 |
| ! |
| ! Contributed by José Rui Faustino de Sousa |
| ! |
| program arr_p |
| use, intrinsic :: iso_c_binding, only: c_int |
| implicit none (type, external) |
| |
| integer(kind=c_int), pointer :: arr(:) |
| integer :: i |
| |
| nullify(arr) |
| call arr_set(arr) |
| |
| if (.not.associated(arr)) stop 1 |
| if (lbound(arr,dim=1) /= 1) stop 2 |
| if (ubound(arr,dim=1) /= 9) stop 3 |
| if (any (arr /= [(i, i=0,8)])) stop 4 |
| deallocate(arr) |
| |
| contains |
| |
| subroutine arr_set(this) !bind(c) |
| integer(kind=c_int), pointer, intent(out) :: this(:) |
| |
| interface |
| subroutine arr_set_c(this) bind(c) |
| use, intrinsic :: iso_c_binding, only: c_int |
| implicit none |
| integer(kind=c_int), pointer, intent(out) :: this(:) |
| end subroutine arr_set_c |
| end interface |
| |
| call arr_set_c(this) |
| end subroutine arr_set |
| end program arr_p |