The attached code (which seems fine to me) produces an internal compiler error.
gfortran -c pp.f90 -o pp.o f951: internal compiler error: in gfc_build_null_descriptor, at fortran/trans-array.c:372 gfortran --version GNU Fortran (GCC) 4.5.0 20091229 (experimental) module mod_a implicit none public :: p_fun private abstract interface pure function intf(x) result(y) real, intent(in) :: x(:,:) real :: y(size(x,1),size(x,1),size(x,2)) end function intf end interface !procedure(intf), pointer :: p_fun ! this works procedure(intf), pointer :: p_fun => null() end module mod_a -- Summary: ICE with procedure pointer initialized to null() Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mrestelli at gmail dot com GCC build triplet: GNU Fortran (GCC) 4.5.0 20091229 (experimental) GCC host triplet: Linux 2.6.27-gentoo-r8 x86_64 AMD Turion(tm) 64 Mobile Technolog http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42597