https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99369
Bug ID: 99369 Summary: [10/11 Regression] ICE in gfc_resolve_expr, at fortran/resolve.c:7167 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- This issue appeared between 20191124 and 20191201. The change occurs between 54 (ok) and 55 (ICE) letters : (an operator-name may only consist of letters) $ cat z1_54.f90 module mabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc type tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc end type interface operator (.oabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc.) procedure fabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc end interface contains function fabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc & (uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc) type (tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc), intent(in) :: & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc end end program p use mabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc type (tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc) :: & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc wabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc = & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc & .oabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc. & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabc end $ cat z1_55.f90 module mabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd type tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd end type interface operator (.oabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd.) procedure fabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd end interface contains function fabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd & (uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd) type (tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd), intent(in) :: & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd end end program p use mabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd type (tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd) :: & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd wabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd = & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd & .oabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd. & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcd end $ cat z1_63.f90 module mabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab type tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab end type interface operator (.oabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab.) procedure fabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab end interface contains function fabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab & (uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab) type (tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab), intent(in) :: & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab end end program p use mabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab type (tabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab) :: & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab, & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab wabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab = & uabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab & .oabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab. & vabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzabcdefgxyzab end $ gfortran-11-20210228 -c z1_54.f90 $ $ gfortran-11-20210228 -c z1_55.f90 f951: internal compiler error: Segmentation fault 0xc0666f crash_signal ../../gcc/toplev.c:327 0x6f0e23 gfc_resolve_expr(gfc_expr*) ../../gcc/fortran/resolve.c:7167 0x6f97a4 gfc_resolve_expr(gfc_expr*) ../../gcc/fortran/resolve.c:11720 0x6f97a4 gfc_resolve_code(gfc_code*, gfc_namespace*) ../../gcc/fortran/resolve.c:11816 0x6fad37 resolve_codes ../../gcc/fortran/resolve.c:17387 0x6fadfe gfc_resolve(gfc_namespace*) ../../gcc/fortran/resolve.c:17422 0x6e3344 resolve_all_program_units ../../gcc/fortran/parse.c:6290 0x6e3344 gfc_parse_file() ../../gcc/fortran/parse.c:6542 0x72fd7f gfc_be_parse_file ../../gcc/fortran/f95-lang.c:212