http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53694
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-06-17 Ever Confirmed|0 |1 --- Comment #4 from janus at gcc dot gnu.org 2012-06-17 22:03:05 UTC --- Slightly compactified test case: module type_mod implicit none type field real :: var(1:3) contains procedure :: scalar_equals_field generic :: assignment (=) => scalar_equals_field procedure, nopass :: field_sqrt generic :: sqrt => field_sqrt end type contains elemental pure subroutine scalar_equals_field (A, b) class(field), intent(out) :: A real, intent(in) :: b A%var(:) = b end subroutine elemental pure function field_sqrt (A) result (B) class(field), intent(in) :: A type(field) :: B B%var(:) = sqrt (A%var(:)) end function end module program test use type_mod, only : field implicit none type(field) :: a a = 4.0 print *, sqrt(a) end program