https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89601
Bug ID: 89601 Summary: ICE: Segmentation fault (in resolve_component) Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gfortran-9.0.0-alpha20190303 snapshot (r269357) ICEs when compiling the following testcase: program vw interface real function ul (ki) real :: ki end function ul end interface type :: q8 () procedure (ul), pointer :: pj end type q8 type (q8) :: ki end program vw % powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190303 -c ebntren1.f90 f951: internal compiler error: Segmentation fault 0xd9cad6 crash_signal /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/toplev.c:326 0x81191f resolve_component /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:13964 0x81191f resolve_component /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:13817 0x812272 resolve_fl_derived0 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:14314 0x8128bf resolve_fl_derived0 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:14413 0x8128bf resolve_fl_derived /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:14443 0x80f017 resolve_symbol /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:14817 0x837dc2 do_traverse_symtree /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/symbol.c:4156 0x81c165 resolve_types /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:16729 0x80dfbe gfc_resolve(gfc_namespace*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:16843 0x80dfbe gfc_resolve(gfc_namespace*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/resolve.c:16824 0x7ffc76 resolve_all_program_units /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/parse.c:6073 0x7ffc76 gfc_parse_file() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/parse.c:6323 0x84dd5e gfc_be_parse_file /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190303/work/gcc-9-20190303/gcc/fortran/f95-lang.c:204 ==24699== Invalid read of size 8 ==24699== at 0x81191F: resolve_component (resolve.c:13964) ==24699== by 0x81191F: resolve_component(gfc_component*, gfc_symbol*) (resolve.c:13817) ==24699== by 0x812272: resolve_fl_derived0(gfc_symbol*) [clone .part.54] (resolve.c:14314) ==24699== by 0x8128BF: resolve_fl_derived0 (resolve.c:14413) ==24699== by 0x8128BF: resolve_fl_derived(gfc_symbol*) (resolve.c:14443) ==24699== by 0x80F017: resolve_symbol(gfc_symbol*) (resolve.c:14817) ==24699== by 0x837DC2: do_traverse_symtree(gfc_symtree*, void (*)(gfc_symtree*), void (*)(gfc_symbol*)) (symbol.c:4156) ==24699== by 0x81C165: resolve_types(gfc_namespace*) (resolve.c:16729) ==24699== by 0x80DFBE: gfc_resolve (resolve.c:16843) ==24699== by 0x80DFBE: gfc_resolve(gfc_namespace*) (resolve.c:16824) ==24699== by 0x7FFC76: resolve_all_program_units (parse.c:6073) ==24699== by 0x7FFC76: gfc_parse_file() (parse.c:6323) ==24699== by 0x84DD5E: gfc_be_parse_file() (f95-lang.c:204) ==24699== by 0xD9CB6C: compile_file() (toplev.c:456) ==24699== by 0x764E83: do_compile (toplev.c:2204) ==24699== by 0x764E83: toplev::main(int, char**) (toplev.c:2339) ==24699== by 0x7673AD: main (main.c:39) ==24699== Address 0x30 is not stack'd, malloc'd or (recently) free'd (While my target here is powerpc, the ICE is not target-specific.)