https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89751
Bug ID: 89751 Summary: [PDT] ICE: Segmentation fault (in resolve_component) Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-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-alpha20190317 snapshot (r269746) ICEs when compiling the following testcase: program vw interface integer function ul () end function ul end interface type :: q8 (s4) integer, kind :: s4 = 4 procedure (ul), nopass, pointer :: pj end type q8 type (q8) :: ki end program vw % powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190317 -c xmf8iifd.f90 f951: internal compiler error: Segmentation fault 0xd9d006 crash_signal /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/toplev.c:326 0x8111cf resolve_component /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:13965 0x8111cf resolve_component /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:13818 0x811b22 resolve_fl_derived0 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:14315 0x81216f resolve_fl_derived0 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:14414 0x81216f resolve_fl_derived /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:14444 0x80e8c7 resolve_symbol /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:14818 0x837632 do_traverse_symtree /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/symbol.c:4165 0x81ba15 resolve_types /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:16730 0x80d86e gfc_resolve(gfc_namespace*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:16844 0x80d86e gfc_resolve(gfc_namespace*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/resolve.c:16825 0x7ff526 resolve_all_program_units /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/parse.c:6073 0x7ff526 gfc_parse_file() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/parse.c:6323 0x84d5fe gfc_be_parse_file /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190317/work/gcc-9-20190317/gcc/fortran/f95-lang.c:204 ==11159== Invalid read of size 8 ==11159== at 0x8111CF: resolve_component (resolve.c:13965) ==11159== by 0x8111CF: resolve_component(gfc_component*, gfc_symbol*) (resolve.c:13818) ==11159== by 0x811B22: resolve_fl_derived0(gfc_symbol*) [clone .part.54] (resolve.c:14315) ==11159== by 0x81216F: resolve_fl_derived0 (resolve.c:14414) ==11159== by 0x81216F: resolve_fl_derived(gfc_symbol*) (resolve.c:14444) ==11159== by 0x80E8C7: resolve_symbol(gfc_symbol*) (resolve.c:14818) ==11159== by 0x837632: do_traverse_symtree(gfc_symtree*, void (*)(gfc_symtree*), void (*)(gfc_symbol*)) (symbol.c:4165) ==11159== by 0x81BA15: resolve_types(gfc_namespace*) (resolve.c:16730) ==11159== by 0x80D86E: gfc_resolve (resolve.c:16844) ==11159== by 0x80D86E: gfc_resolve(gfc_namespace*) (resolve.c:16825) ==11159== by 0x7FF526: resolve_all_program_units (parse.c:6073) ==11159== by 0x7FF526: gfc_parse_file() (parse.c:6323) ==11159== by 0x84D5FE: gfc_be_parse_file() (f95-lang.c:204) ==11159== by 0xD9D09C: compile_file() (toplev.c:456) ==11159== by 0x764663: do_compile (toplev.c:2205) ==11159== by 0x764663: toplev::main(int, char**) (toplev.c:2340) ==11159== by 0x766B8D: main (main.c:39) ==11159== Address 0x30 is not stack'd, malloc'd or (recently) free'd This testcase was reduced from the same original file as the one filed in PR89601. (While my target here is powerpc, the ICE is not target-specific.)