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

            Bug ID: 95687
           Summary: ICE in get_unique_hashed_string, at
                    fortran/class.c:508
           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: ---

Happens between name length 61 (ok) and 62 (ICE) :


$ cat z1_61.f90
module m234567890123456789012345678901234567890123456789012345678901
   interface
      module subroutine
s234567890123456789012345678901234567890123456789012345678901
      end
   end interface
end
submodule(m234567890123456789012345678901234567890123456789012345678901) &
   n234567890123456789012345678901234567890123456789012345678901
   type t234567890123456789012345678901234567890123456789012345678901 &
       (a234567890123456789012345678901234567890123456789012345678901)
      integer, kind ::
a234567890123456789012345678901234567890123456789012345678901 = 4
   end type
   class(t234567890123456789012345678901234567890123456789012345678901(3)),
pointer :: &
         x234567890123456789012345678901234567890123456789012345678901
end


$ cat z1_62.f90
module m2345678901234567890123456789012345678901234567890123456789012
   interface
      module subroutine
s2345678901234567890123456789012345678901234567890123456789012
      end
   end interface
end
submodule(m2345678901234567890123456789012345678901234567890123456789012) &
   n2345678901234567890123456789012345678901234567890123456789012
   type t2345678901234567890123456789012345678901234567890123456789012 &
       (a2345678901234567890123456789012345678901234567890123456789012)
      integer, kind ::
a2345678901234567890123456789012345678901234567890123456789012 = 4
   end type
   class(t2345678901234567890123456789012345678901234567890123456789012(3)),
pointer :: &
         x2345678901234567890123456789012345678901234567890123456789012
end


$ cat z1_63.f90
module m23456789012345678901234567890123456789012345678901234567890123
   interface
      module subroutine
s23456789012345678901234567890123456789012345678901234567890123
      end
   end interface
end
submodule(m23456789012345678901234567890123456789012345678901234567890123) &
   n23456789012345678901234567890123456789012345678901234567890123
   type t23456789012345678901234567890123456789012345678901234567890123 &
       (a23456789012345678901234567890123456789012345678901234567890123)
      integer, kind ::
a23456789012345678901234567890123456789012345678901234567890123 = 4
   end type
   class(t23456789012345678901234567890123456789012345678901234567890123(3)),
pointer :: &
         x23456789012345678901234567890123456789012345678901234567890123
end


$ gfortran-11-20200614 -c z1_61.f90
$
$ gfortran-11-20200614 -c z1_62.f90
f951: internal compiler error: in get_unique_hashed_string, at
fortran/class.c:508
0x634d96 get_unique_hashed_string
        ../../gcc/fortran/class.c:508
0x6381ae gfc_build_class_symbol(gfc_typespec*, symbol_attribute*,
gfc_array_spec**)
        ../../gcc/fortran/class.c:651
0x63ec2c build_sym
        ../../gcc/fortran/decl.c:1751
0x649519 variable_decl
        ../../gcc/fortran/decl.c:2793
0x649519 gfc_match_data_decl()
        ../../gcc/fortran/decl.c:6195
0x6acd23 match_word
        ../../gcc/fortran/parse.c:65
0x6acd23 decode_statement
        ../../gcc/fortran/parse.c:376
0x6ae76a next_free
        ../../gcc/fortran/parse.c:1279
0x6ae76a next_statement
        ../../gcc/fortran/parse.c:1511
0x6afdbb parse_spec
        ../../gcc/fortran/parse.c:3922
0x6b3d8e parse_module
        ../../gcc/fortran/parse.c:6115
0x6b40d7 gfc_parse_file()
        ../../gcc/fortran/parse.c:6428
0x70036f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:212

Reply via email to