This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/62246] New: internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62246

            Bug ID: 62246
           Summary: internal compiler error: in gfc_get_symbol_decl, at
                    fortran/trans-decl.c
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: Joost.VandeVondele at mat dot ethz.ch

The following testcase generates an ICE, it has been reduced from PR62242,
which seems to trigger a bug in the middle end, maybe it is related :

> cat bug.f90
module gfbug
    INTERFACE
      pure function UpperCase(string) result(upper) 
          character(*), intent(IN) :: string
          character(LEN(string)) :: upper
      end function
    END INTERFACE
contains
    pure function isNotElementOf(array) result(status)
        logical :: status
        character(*), intent(IN) :: array(:)
        status = ANY("a"==(/UpperCase(array(1))/))
    end function
end module gfbug

> gfortran -fdump-tree-original bug.f90
bug.f90:12:0: 

         status = ANY("a"==(/UpperCase(array(1))/))
 ^
internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1313
0x660e64 gfc_get_symbol_decl(gfc_symbol*)
    ../../gcc/gcc/fortran/trans-decl.c:1313
0x692d75 gfc_conv_intrinsic_len
    ../../gcc/gcc/fortran/trans-intrinsic.c:5303
0x692d75 gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
    ../../gcc/gcc/fortran/trans-intrinsic.c:7708
0x67a042 gfc_conv_function_expr
    ../../gcc/gcc/fortran/trans-expr.c:5618
0x66fd23 gfc_conv_expr_val(gfc_se*, gfc_expr*)
    ../../gcc/gcc/fortran/trans-expr.c:6426
0x66fdc8 gfc_conv_expr_type(gfc_se*, gfc_expr*, tree_node*)
    ../../gcc/gcc/fortran/trans-expr.c:6440
0x64d83b gfc_add_loop_ss_code
    ../../gcc/gcc/fortran/trans-array.c:2562
0x64e083 gfc_conv_loop_setup(gfc_loopinfo*, locus*)
    ../../gcc/gcc/fortran/trans-array.c:4692
0x67d4c9 gfc_conv_intrinsic_anyall
    ../../gcc/gcc/fortran/trans-intrinsic.c:3201
0x69185d gfc_conv_intrinsic_anyall
    ../../gcc/gcc/fortran/trans-intrinsic.c:3173
0x69185d gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
    ../../gcc/gcc/fortran/trans-intrinsic.c:7453
0x67a042 gfc_conv_function_expr
    ../../gcc/gcc/fortran/trans-expr.c:5618
0x66e28a gfc_trans_assignment_1
    ../../gcc/gcc/fortran/trans-expr.c:8077
0x63aa15 trans_code
    ../../gcc/gcc/fortran/trans.c:1639


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]