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