78 lines
1.7 KiB
Fortran
78 lines
1.7 KiB
Fortran
! { 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
|