47 lines
998 B
Fortran
47 lines
998 B
Fortran
! { 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
|