https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103718
Bug ID: 103718 Summary: [11/12 Regression] ICE in doloop_contained_procedure_code, at fortran/frontend-passes.c:2393 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Changed between 20200726 and 20200809 : (gcc configured with --enable-checking=yes) $ cat z1.f90 program p integer :: i do i = 1, 2 call s end do contains subroutine s shape(1) = 0 end end $ cat z3.f90 program p integer :: i do i = 1, 2 call s end do contains subroutine s real(1) = 0 end end $ gfortran-12-20211212 -c z1.f90 z1.f90:8:6: 8 | shape(1) = 0 | 1 Error: Non-variable expression in variable definition context (assignment) at (1) f951: internal compiler error: Segmentation fault 0xf12d1f crash_signal ../../gcc/toplev.c:322 0x950019 doloop_contained_procedure_code ../../gcc/fortran/frontend-passes.c:2393 0x955909 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int (*)(gfc_expr**, int*, void*), void*) ../../gcc/fortran/frontend-passes.c:5337 0x957e72 doloop_code ../../gcc/fortran/frontend-passes.c:2627 0x955909 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int (*)(gfc_expr**, int*, void*), void*) ../../gcc/fortran/frontend-passes.c:5337 0x955a87 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int (*)(gfc_expr**, int*, void*), void*) ../../gcc/fortran/frontend-passes.c:5673 0x956afb doloop_warn ../../gcc/fortran/frontend-passes.c:3063 0x95704a gfc_run_passes(gfc_namespace*) ../../gcc/fortran/frontend-passes.c:156 0x857657 gfc_resolve(gfc_namespace*) ../../gcc/fortran/resolve.c:17573 0x83f954 resolve_all_program_units ../../gcc/fortran/parse.c:6586 0x83f954 gfc_parse_file() ../../gcc/fortran/parse.c:6842 0x88db0f gfc_be_parse_file ../../gcc/fortran/f95-lang.c:216