------- Comment #4 from janus at gcc dot gnu dot org 2009-10-23 11:27 ------- Further reduced test case:
module abstract_gradient implicit none private type, public, abstract :: gradient_class contains procedure, nopass :: inner_product end type contains function inner_product () class(gradient_class), pointer :: inner_product inner_product => NULL() end function end module use abstract_gradient class(gradient_class), pointer :: g_initial, ip_save ip_save => g_initial%inner_product() ! ICE end -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41800