https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102315
Bug ID: 102315 Summary: ICE tree check: expected integer_cst, have save_expr in gfc_trans_array_constructor_value, at fortran/trans-array.c:2056 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: --- This ICE affects versions down to at least r5 : (gcc configured with --enable-checking=yes) $ cat z1.f90 program p character(4) :: x = '123' character(8) :: y(5) y = [[character(8) :: 'a'//trim(x), 'b', 'c', 'd', 'e']] print *, y end $ gfortran-12-20210905 -c z1.f90 z1.f90:4:59: 4 | y = [[character(8) :: 'a'//trim(x), 'b', 'c', 'd', 'e']] | 1 internal compiler error: tree check: expected integer_cst, have save_expr in gfc_trans_array_constructor_value, at fortran/trans-array.c:2056 0x67e390 tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.c:8688 0x86acd9 tree_int_cst_elt_check(tree_node*, int, char const*, int, char const*) ../../gcc/tree.h:3618 0x86acd9 gfc_trans_array_constructor_value ../../gcc/fortran/trans-array.c:2056 0x86b678 trans_array_constructor ../../gcc/fortran/trans-array.c:2769 0x86b678 gfc_add_loop_ss_code ../../gcc/fortran/trans-array.c:3049 0x86bdd5 gfc_conv_loop_setup(gfc_loopinfo*, locus*) ../../gcc/fortran/trans-array.c:5294 0x8aa21d gfc_trans_assignment_1 ../../gcc/fortran/trans-expr.c:11273 0x8599d7 trans_code ../../gcc/fortran/trans.c:1918 0x88ca85 gfc_generate_function_code(gfc_namespace*) ../../gcc/fortran/trans-decl.c:6918 0x803e96 translate_all_program_units ../../gcc/fortran/parse.c:6569 0x803e96 gfc_parse_file() ../../gcc/fortran/parse.c:6838 0x8510ff gfc_be_parse_file ../../gcc/fortran/f95-lang.c:216