http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58557
--- Comment #2 from janus at gcc dot gnu.org ---
I think the conversion errors are simply due to declaration issues in the test
case, e.g.:
program main
implicit none
type t
end type t
interface
function f_type_na()
import :: t
type(t) :: f_type
end function
end interface
type(t) :: b
b = f_type_na()
end program
b = f_type_na()
1
Error: Can't convert REAL(4) to TYPE(t) at (1)
But the following variant yields a different error:
program main
implicit none
type t
end type t
type(t) :: b
b = f_type_na()
contains
function f_type_na()
type(t) :: f_type
end function
end program
function f_type_na()
1
Error: Contained function 'f_type_na' at (1) has no IMPLICIT type
c0.f90:11.6:
b = f_type_na()
1
Error: Can't convert UNKNOWN to TYPE(t) at (1)
Apparently we apply implicit typing to the INTERFACE version (although IMPLICIT
NONE is given).