module ice6 type :: lin_approx_cont_type real,dimension(:),allocatable::values contains procedure::get_array procedure::get_element generic::get_something=>get_element,get_array end type lin_approx_cont_type
contains pure function get_element(this,index) class(lin_approx_cont_type),intent(in)::this integer,intent(in)::index real::get_element get_element=this%values(index) end function get_element pure function get_array(this) class(lin_approx_cont_type),intent(in)::this real,dimension(this%dim)::get_array get_array=this%values end function get_array subroutine do_something(this) class(lin_approx_cont_type),intent(in)::this call really_do_something(this%get_something()) end subroutine do_something subroutine really_do_something(array) real,dimension(:),intent(in)::array end subroutine really_do_something end module ice6 compiling with GNU Fortran (GCC) 4.6.0 20100616 results in: ice6.f03:35:0: interner Compiler-Fehler: in gimplify_expr, bei gimplify.c:7389 -- Summary: [OOP] ICE in gimplify_expr when passing generic function as argument Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: boschmann at tp1 dot physik dot uni-siegen dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44565