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

            Bug ID: 82932
           Summary: [8 Regression] [OOP] ICE in update_compcall_arglist,
                    at fortran/resolve.c:5837
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: janus at gcc dot gnu.org
  Target Milestone: ---

Consider this (invalid) test case:


module m

   implicit none

   type, abstract :: AT
   contains
      procedure(init_ifc), deferred :: sinit
      procedure(missing_ifc), deferred :: missing
      generic :: init    => sinit
   end type

   abstract interface
      subroutine init_ifc(data)
         import AT
         class(AT) :: data
      end subroutine
      subroutine missing_ifc(data)
         import AT
         class(AT) :: data
      end subroutine
   end interface

end module


program p

   use m

   implicit none

   type, extends(AT) :: ET
   contains
      procedure :: sinit
   end type

   type(ET) :: c
   call c%init()

end


With current trunk I get:

    type, extends(AT) :: ET
                          1
Error: Derived-type ‘et’ declared at (1) must be ABSTRACT because ‘missing’ is
DEFERRED and not overridden
f951: internal compiler error: in update_compcall_arglist, at
fortran/resolve.c:5837
0x7016e9 update_compcall_arglist
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:5837
0x7016e9 resolve_typebound_static
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:5978
0x707ec9 resolve_typebound_call
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:6190
0x7061ea resolve_typebound_subroutine
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:6492
0x7061ea gfc_resolve_code(gfc_code*, gfc_namespace*)
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:11265
0x706e5a resolve_codes
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:16407
0x706f66 gfc_resolve(gfc_namespace*)
        /home/janus/gcc/trunk/gcc/fortran/resolve.c:16442
0x6f01aa resolve_all_program_units
        /home/janus/gcc/trunk/gcc/fortran/parse.c:6030
0x6f01aa gfc_parse_file()
        /home/janus/gcc/trunk/gcc/fortran/parse.c:6280
0x736baf gfc_be_parse_file
        /home/janus/gcc/trunk/gcc/fortran/f95-lang.c:204
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


gfortran 5,6,7 give just the error message, but no ICE.

Reply via email to