[Bug fortran/93424] New: ICE on valid with pointer result from submodule function

abensonca at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Jan 24 17:46:00 GMT 2020


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

            Bug ID: 93424
           Summary: ICE on valid with pointer result from submodule
                    function
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: abensonca at gmail dot com
  Target Milestone: ---

The following invalid code results in an ICE (using git commit
472dc648ce3e7661762931d584d239611ddca964):

module t

  type :: a
   contains
     procedure :: p => ap
  end type a

  type, extends(a) :: b
   contains
     procedure :: p => bp
  end type b

  type :: c
  end type c

  interface
     module function bp(s)
       class(b), intent(inout) :: s
       class(c), pointer :: bp
     end function
  end interface

contains

  function ap(s)
    class(a), intent(inout) :: s
    class(c), pointer :: ap
  end function ap

end module t

submodule (t) ts

contains

  function bp(s)
    class(b), intent(inout) :: s
    class(c), pointer :: bp
  end function bp

end submodule ts



$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/abenson/Galacticus/Tools/libexec/gcc/x86_64-pc-linux-gnu/10.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-git/configure --prefix=/home/abenson/Galacticus/Tools
--enable-languages=c,c++,fortran --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.0.1 20200124 (experimental) (GCC) 



$ gfortran -c test3.mod.F90 -o test3.mod.o 
f951: internal compiler error: Segmentation fault
0xe1b2bf crash_signal
        ../../gcc-git/gcc/toplev.c:328
0x7fc2247331ef ???
       
/data001/abenson/Galacticus/Tools/glibc-2.12.1/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x80cc31 compare_rank
        ../../gcc-git/gcc/fortran/interface.c:776
0x80cc31 compare_rank
        ../../gcc-git/gcc/fortran/interface.c:766
0x80ef55 gfc_check_result_characteristics(gfc_symbol*, gfc_symbol*, char*, int)
        ../../gcc-git/gcc/fortran/interface.c:1556
0x814ae2 gfc_check_typebound_override(gfc_symtree*, gfc_symtree*)
        ../../gcc-git/gcc/fortran/interface.c:4799
0x86fd0d resolve_typebound_procedure
        ../../gcc-git/gcc/fortran/resolve.c:14002
0x8a0769 do_traverse_symtree
        ../../gcc-git/gcc/fortran/symbol.c:4178
0x8785bc resolve_typebound_procedures
        ../../gcc-git/gcc/fortran/resolve.c:14053
0x8785bc resolve_fl_derived
        ../../gcc-git/gcc/fortran/resolve.c:14829
0x8751a7 resolve_symbol
        ../../gcc-git/gcc/fortran/resolve.c:15199
0x8a0722 do_traverse_symtree
        ../../gcc-git/gcc/fortran/symbol.c:4172
0x882893 resolve_types
        ../../gcc-git/gcc/fortran/resolve.c:17123
0x8741fc gfc_resolve(gfc_namespace*)
        ../../gcc-git/gcc/fortran/resolve.c:17238
0x8741fc gfc_resolve(gfc_namespace*)
        ../../gcc-git/gcc/fortran/resolve.c:17219
0x8670b7 gfc_parse_file()
        ../../gcc-git/gcc/fortran/parse.c:6446
0x8b756f gfc_be_parse_file
        ../../gcc-git/gcc/fortran/f95-lang.c:210
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.


More information about the Gcc-bugs mailing list