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

            Bug ID: 102818
           Summary: ICE in gfc_resolve_formal_arglist, at
                    fortran/resolve.c:282
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

The following error message always shows the symbol name 'ppr@'.
Finally found a case with ICE, seems to be older than r5.


$ cat z1.f90
module m
   type t
   contains
      procedure :: f
   end type
contains
   integer function f()
      procedure(real), pointer :: f
   end
end


$ cat z2.f90   # no ICE, same error
module m
   type t
   contains
      procedure, nopass :: f
   end type
contains
   integer function f()
      procedure(real), pointer :: f
   end
end


$ gfortran-12-20211017 -c z1.f90
z1.f90:8:35:

    8 |       procedure(real), pointer :: f
      |                                   1
Error: Symbol 'ppr@' at (1) already has basic type of INTEGER
f951: internal compiler error: Segmentation fault
0xeed8df crash_signal
        ../../gcc/toplev.c:322
0x857700 gfc_resolve_formal_arglist(gfc_symbol*)
        ../../gcc/fortran/resolve.c:282
0x873672 do_traverse_symtree
        ../../gcc/fortran/symbol.c:4171
0x8579e3 resolve_formal_arglists
        ../../gcc/fortran/resolve.c:563
0x8579e3 resolve_contained_functions
        ../../gcc/fortran/resolve.c:1147
0x8579e3 resolve_types
        ../../gcc/fortran/resolve.c:17419
0x85307c gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:17545
0x83b1c2 gfc_parse_file()
        ../../gcc/fortran/parse.c:6721
0x8891bf gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:216

Reply via email to