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

            Bug ID: 92874
           Summary: ICE in gfc_dep_compare_expr, at
                    fortran/dependency.c:36
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Affects versions down to at least gfortran-4.9,
compiles and works with -fno-frontend-optimize :


$ cat z1.f90
program p
   call s('a')
   call s('abc')
end
subroutine s(x)
   character(*) :: x
   print *, (x(1:1) == x(1:))
end


$ gfortran-10-20191208 z1.f90 -O2 -fno-frontend-optimize && ./a.out
 T
 F


$ gfortran-10-20191208 -c z1.f90 -O2
f951: internal compiler error: Segmentation fault
0xb800af crash_signal
        ../../gcc/toplev.c:328
0x6c9b14 gfc_dep_compare_expr(gfc_expr*, gfc_expr*)
        ../../gcc/fortran/dependency.c:368
0x6ca0ea are_identical_variables
        ../../gcc/fortran/dependency.c:187
0x6ca0ea gfc_dep_compare_expr(gfc_expr*, gfc_expr*)
        ../../gcc/fortran/dependency.c:486
0x758249 optimize_comparison
        ../../gcc/fortran/frontend-passes.c:2077
0x759a2f optimize_op
        ../../gcc/fortran/frontend-passes.c:1914
0x759a2f optimize_expr
        ../../gcc/fortran/frontend-passes.c:352
0x75a205 gfc_expr_walker(gfc_expr**, int (*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:4929
0x75a3e9 gfc_expr_walker(gfc_expr**, int (*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:4936
0x75cab1 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:5347
0x75cb47 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:5355
0x75dd12 optimize_namespace
        ../../gcc/fortran/frontend-passes.c:1474
0x75e15f gfc_run_passes(gfc_namespace*)
        ../../gcc/fortran/frontend-passes.c:165
0x69a1c7 gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:17227
0x69a591 gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:2546
0x69a591 resolve_global_procedure
        ../../gcc/fortran/resolve.c:2548
0x6a3378 resolve_call
        ../../gcc/fortran/resolve.c:3676
0x697d7d gfc_resolve_code(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:11878
0x69a0d7 resolve_codes
        ../../gcc/fortran/resolve.c:17186
0x69a19e gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:17221

Reply via email to