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

            Bug ID: 71895
           Summary: ICE in gfc_compare_derived_types, at
                    fortran/interface.c:520
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gerhard.steinmetz.fort...@t-online.de
  Target Milestone: ---

Eventually cross-linked with pr71862, pr71894 :


$ cat z1.f90
program p
   type t
      integer :: n
   end type
   type(t) :: x
   class(t) :: y
   print *, extends_type_of(x, y)
   print *, extends_type_of(y, x)
end


$ gfortran-6 z1.f90            # release
z1.f90:6:16:

    class(t) :: y
                1
Error: CLASS variable 'y' at (1) must be dummy, allocatable or pointer
(null):0: confused by earlier errors, bailing out


$ gfortran-7-20160710 z1.f90   # eperimental
z1.f90:6:16:

    class(t) :: y
                1
Error: CLASS variable 'y' at (1) must be dummy, allocatable or pointer
f951: internal compiler error: in gfc_compare_derived_types, at
fortran/interface.c:520
0x68db69 gfc_compare_derived_types(gfc_symbol*, gfc_symbol*)
        ../../gcc/fortran/interface.c:520
0x70b3da gfc_type_is_extension_of(gfc_symbol*, gfc_symbol*)
        ../../gcc/fortran/symbol.c:4832
0x6fcabb gfc_simplify_extends_type_of(gfc_expr*, gfc_expr*)
        ../../gcc/fortran/simplify.c:2384
0x694cb9 do_simplify
        ../../gcc/fortran/intrinsic.c:4150
0x69e60c gfc_intrinsic_func_interface(gfc_expr*, int)
        ../../gcc/fortran/intrinsic.c:4506
0x6e3e66 resolve_unknown_f
        ../../gcc/fortran/resolve.c:2718
0x6e3e66 resolve_function
        ../../gcc/fortran/resolve.c:3020
0x6e3e66 gfc_resolve_expr(gfc_expr*)
        ../../gcc/fortran/resolve.c:6353
0x6e8a91 gfc_resolve_code(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:10469
0x6e87eb gfc_resolve_blocks(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:9520
0x6e8b9e gfc_resolve_code(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:10459
0x6eb272 resolve_codes
        ../../gcc/fortran/resolve.c:15667
0x6eb361 gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:15701
0x6d668a resolve_all_program_units
        ../../gcc/fortran/parse.c:5853
0x6d668a gfc_parse_file()
        ../../gcc/fortran/parse.c:6105
0x718d12 gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:198

Reply via email to