blob: 8c62a5dbb60158b39745ec748aa6386fad15eaa8 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-std=f2003" }
!
! PR fortran/48112 (module_m)
! PR fortran/48279 (sidl_string_array, s_Hard)
!
! Contributed by mhp77@gmx.at (module_m)
! and Adrian Prantl (sidl_string_array, s_Hard)
!
module module_m
interface test
function test1( ) result( test )
integer :: test
end function test1
end interface test
end module module_m
! -----
module sidl_string_array
type sidl_string_1d
end type sidl_string_1d
interface set
module procedure &
setg1_p
end interface
contains
subroutine setg1_p(array, index, val)
type(sidl_string_1d), intent(inout) :: array
end subroutine setg1_p
end module sidl_string_array
module s_Hard
use sidl_string_array
type :: s_Hard_t
integer(8) :: dummy
end type s_Hard_t
interface set_d_interface
end interface
interface get_d_string
module procedure get_d_string_p
end interface
contains ! Derived type member access functions
type(sidl_string_1d) function get_d_string_p(s)
type(s_Hard_t), intent(in) :: s
end function get_d_string_p
subroutine set_d_objectArray_p(s, d_objectArray)
end subroutine set_d_objectArray_p
end module s_Hard
subroutine initHard(h, ex)
use s_Hard
type(s_Hard_t), intent(inout) :: h
call set(get_d_string(h), 0, 'Three') ! { dg-error "There is no specific subroutine for the generic" }
end subroutine initHard
! -----
interface get
procedure get1
end interface
integer :: h
call set1 (get (h))
contains
subroutine set1 (a)
integer, intent(in) :: a
end subroutine
integer function get1 (s) ! { dg-error "Fortran 2008: Internal procedure .get1. in generic interface .get." }
integer :: s
end function
end