http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54881



janus at gcc dot gnu.org changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

           Keywords|                            |ice-on-valid-code

                 CC|                            |janus at gcc dot gnu.org

            Summary|ICE in fold_convert_loc, at |[OOP] ICE in

                   |fold-const.c:2016           |fold_convert_loc, at

                   |                            |fold-const.c:2016



--- Comment #2 from janus at gcc dot gnu.org 2012-10-10 08:11:59 UTC ---

While trying to reduce it, I found a version which also ICEs with trunk:



  implicit none



  type treeNode

    type(treeNode), pointer    :: right    => null()

  end type



  type(treeNode), pointer :: theNode

  print *, associated( RightOf(theNode) )



contains



  function RightOf( theNode )

    class(treeNode), pointer :: RightOf

    type(treeNode), target, intent(in)    :: theNode

    RightOf => theNode%right

  end function



end





Apparently, the ICE on the original test case was only prevented by the error

message mentioned by Dominique.





With 4.8 trunk one gets the following output:



CompilerBug.f03:10:0: internal compiler error: in fold_convert_loc, at

fold-const.c:1979

   print *, associated( RightOf(theNode) )

 ^

0x8070d4 fold_convert_loc(unsigned int, tree_node*, tree_node*)

        /home/jweil/gcc48/trunk/gcc/fold-const.c:1979

0x654b90 gfc_conv_associated

        /home/jweil/gcc48/trunk/gcc/fortran/trans-intrinsic.c:5768

0x656501 gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans-intrinsic.c:6303

0x639461 gfc_conv_function_expr

        /home/jweil/gcc48/trunk/gcc/fortran/trans-expr.c:5127

0x63b4e8 gfc_conv_expr(gfc_se*, gfc_expr*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans-expr.c:5834

0x63b99c gfc_conv_expr_reference(gfc_se*, gfc_expr*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans-expr.c:5963

0x65ecb5 gfc_trans_transfer(gfc_code*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans-io.c:2246

0x5f99da trans_code

        /home/jweil/gcc48/trunk/gcc/fortran/trans.c:1510

0x5f9b37 gfc_trans_code_cond(gfc_code*, tree_node*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans.c:1565

0x65dd2e build_dt

        /home/jweil/gcc48/trunk/gcc/fortran/trans-io.c:1831

0x65de0a gfc_trans_write(gfc_code*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans-io.c:1870

0x5f9953 trans_code

        /home/jweil/gcc48/trunk/gcc/fortran/trans.c:1482

0x5f9b56 gfc_trans_code(gfc_code*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans.c:1573

0x628ccb gfc_generate_function_code(gfc_namespace*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans-decl.c:5353

0x5f9b9a gfc_generate_code(gfc_namespace*)

        /home/jweil/gcc48/trunk/gcc/fortran/trans.c:1590

0x59b241 translate_all_program_units

        /home/jweil/gcc48/trunk/gcc/fortran/parse.c:4467

0x59b8a7 gfc_parse_file()

        /home/jweil/gcc48/trunk/gcc/fortran/parse.c:4681

0x5e67f4 gfc_be_parse_file

        /home/jweil/gcc48/trunk/gcc/fortran/f95-lang.c:191

Reply via email to