https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100656
Bug ID: 100656 Summary: ICE in gfc_conv_expr_present, at fortran/trans-expr.c:1934 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: --- Affects versions down to at least r5 : (with option -fcheck=all or -fcheck=bounds) $ cat z1.f90 subroutine s(x) character(:), allocatable, optional :: x(:) if ( present(x) ) then if ( allocated(x) ) then x = 'a' // x // 'e' end if end if end $ gfortran-12-20210516 -c z1.f90 -fcheck=all z1.f90:5:28: 5 | x = 'a' // x // 'e' | 1 internal compiler error: in gfc_conv_expr_present, at fortran/trans-expr.c:1934 0x767b80 gfc_conv_expr_present(gfc_symbol*, bool) ../../gcc/fortran/trans-expr.c:1934 0x745114 gfc_conv_ss_startstride(gfc_loopinfo*) ../../gcc/fortran/trans-array.c:4723 0x77b991 gfc_trans_assignment_1 ../../gcc/fortran/trans-expr.c:11218 0x73dcb7 trans_code ../../gcc/fortran/trans.c:1932 0x7aa2f5 gfc_trans_if_1 ../../gcc/fortran/trans-stmt.c:1475 0x7b1e8a gfc_trans_if(gfc_code*) ../../gcc/fortran/trans-stmt.c:1507 0x73ddd7 trans_code ../../gcc/fortran/trans.c:2020 0x7aa2f5 gfc_trans_if_1 ../../gcc/fortran/trans-stmt.c:1475 0x7b1e8a gfc_trans_if(gfc_code*) ../../gcc/fortran/trans-stmt.c:1507 0x73ddd7 trans_code ../../gcc/fortran/trans.c:2020 0x764314 gfc_generate_function_code(gfc_namespace*) ../../gcc/fortran/trans-decl.c:6885 0x6eac86 translate_all_program_units ../../gcc/fortran/parse.c:6370 0x6eac86 gfc_parse_file() ../../gcc/fortran/parse.c:6639 0x736f7f gfc_be_parse_file ../../gcc/fortran/f95-lang.c:212