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

Reply via email to