http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55960
Bug #: 55960 Summary: [OOP] ICE in replace_comp, at fortran/expr.c:4356 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org Reported at http://gcc.gnu.org/ml/fortran/2013-01/msg00109.html. Reduced test case: module pdfs type, abstract :: pdf contains procedure(getdims), deferred :: getdims procedure(getx), deferred :: getx end type pdf abstract interface pure function getdims(this) import pdf class(pdf), intent(in) :: this integer getdims end function getdims pure function getx(this) import pdf class(pdf), intent(in) :: this real, dimension(getdims(this)) :: getx end function getx end interface end module pdfs Yields the ICE: f951: internal compiler error: in replace_comp, at fortran/expr.c:4356 0x57af34 replace_comp /home/jweil/gcc48/trunk/gcc/fortran/expr.c:4356 0x57a3a5 gfc_traverse_expr(gfc_expr*, gfc_symbol*, bool (*)(gfc_expr*, gfc_symbol*, int*), int) /home/jweil/gcc48/trunk/gcc/fortran/expr.c:4073 0x57afa5 gfc_expr_replace_comp(gfc_expr*, gfc_component*) /home/jweil/gcc48/trunk/gcc/fortran/expr.c:4366 0x5f0c77 resolve_fl_derived0 /home/jweil/gcc48/trunk/gcc/fortran/resolve.c:12622 0x5f1d9e resolve_fl_derived /home/jweil/gcc48/trunk/gcc/fortran/resolve.c:12961 0x5f296a resolve_symbol /home/jweil/gcc48/trunk/gcc/fortran/resolve.c:13229 0x611e1a do_traverse_symtree /home/jweil/gcc48/trunk/gcc/fortran/symbol.c:3449 0x611ee6 gfc_traverse_ns(gfc_namespace*, void (*)(gfc_symbol*)) /home/jweil/gcc48/trunk/gcc/fortran/symbol.c:3474 0x5f68db resolve_types /home/jweil/gcc48/trunk/gcc/fortran/resolve.c:14889 0x5f6d28 gfc_resolve(gfc_namespace*) /home/jweil/gcc48/trunk/gcc/fortran/resolve.c:14989 0x5ce730 gfc_parse_file() /home/jweil/gcc48/trunk/gcc/fortran/parse.c:4603 0x61b4c1 gfc_be_parse_file /home/jweil/gcc48/trunk/gcc/fortran/f95-lang.c:189