! { dg-do compile } ! ! PR fortran/92277 ! ! Contributed by José Rui Faustino de Sousa ! module arr_m implicit none contains subroutine arr_set(this, that) integer, intent(out) :: this(..) integer, optional, intent(out) :: that(..) interface subroutine arr_set_c(this) bind(c) use, intrinsic :: iso_c_binding, only: c_int implicit none integer(kind=c_int), intent(out) :: this(..) end subroutine arr_set_c subroutine arr_set_c_opt(this) bind(c) use, intrinsic :: iso_c_binding, only: c_int implicit none integer(kind=c_int), optional, intent(out) :: this(..) end subroutine arr_set_c_opt end interface call arr_set_c(this) call arr_set_c(that) call arr_set_c_opt(this) call arr_set_c_opt(that) end subroutine arr_set end module arr_m