https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98023
Bug ID: 98023 Summary: ICE: free_expr0(): Bad expr type Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gfortran-11.0.0-alpha20201122 snapshot (g:e23f47ec4065e9eec53c4ad9db91bc36a4f90793) ICEs when compiling the following testcase reduced from test/Semantics/resolve92.f90 from the flang 11.0.0 test suite: module x1 type :: ww(fz) integer, kind :: fz end type ww type :: ky(ww) integer, kind :: ww type(ww(fz)) :: ke = ww(fz) end type ky end module x1 % powerpc-e300c3-linux-gnu-gfortran-11.0.0 -c txoboesk.f90 f951: internal compiler error: free_expr0(): Bad expr type 0x7fdb7a gfc_report_diagnostic /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/error.c:782 0x7fdb7a gfc_internal_error(char const*, ...) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/error.c:1402 0x7fe7ce free_expr0 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/expr.c:509 0x7fe7dd gfc_free_expr(gfc_expr*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/expr.c:530 0x7fe7dd gfc_free_expr(gfc_expr*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/expr.c:526 0x7fe824 gfc_free_actual_arglist(gfc_actual_arglist*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/expr.c:546 0x7eeb9c gfc_match_data_decl() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/decl.c:6246 0x85d0d9 match_word /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:65 0x85d0d9 decode_statement /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:376 0x862524 next_free /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:1315 0x862524 next_statement /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:1547 0x864934 parse_derived /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:3383 0x864934 parse_spec /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:3924 0x867b56 parse_module /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:6156 0x868122 gfc_parse_file() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/parse.c:6469 0x8bddbe gfc_be_parse_file /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20201122/work/gcc-11-20201122/gcc/fortran/f95-lang.c:212 (While my target here is powerpc, the ICE is not target-dependent.)