! { dg-do compile } | |
! Tests the fix for PR32827, in which IMPORT :: my_type put the | |
! symbol into the interface namespace, thereby generating an error | |
! when the declaration of 'x' is compiled. | |
! | |
! Contributed by Douglas Wells <sysmaint@contek.com> | |
! | |
subroutine func1(param) | |
type :: my_type | |
integer :: data | |
end type my_type | |
type(my_type) :: param | |
param%data = 99 | |
end subroutine func1 | |
subroutine func2(param) | |
type :: my_type | |
integer :: data | |
end type my_type | |
type(my_type) :: param | |
param%data = 21 | |
end subroutine func2 | |
type :: my_type | |
integer :: data | |
end type my_type | |
interface | |
subroutine func1(param) | |
import :: my_type | |
type(my_type) :: param | |
end subroutine func1 | |
end interface | |
interface | |
subroutine func2(param) | |
import | |
type(my_type) :: param | |
end subroutine func2 | |
end interface | |
type(my_type) :: x | |
call func1(x) | |
print *, x%data | |
call func2(x) | |
print *, x%data | |
end |