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.