https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114024
Bug ID: 114024 Summary: ICE allocate statement with source=cmp%re and z an array Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: kargl at gcc dot gnu.org Target Milestone: --- Found with the Fujitsu testsuite. The complex part%ref is a rank-1 array with dimension=3. xx should be allocated and assigned [3.45,3.45, 3.45] ! ! https://github.com/fujitsu/compiler-test-suite ! Modified from Fortran/0093/0093_0130.f90 ! implicit none complex:: cmp(3) real, allocatable::xx(:) cmp = (3.45,6.78) allocate (xx, source = cmp%re) end gfcx -c 0093/0093_0130.f90 0093/0093_0130.f90:10:36: 10 | allocate (xx, source = cmp(1:3)%re) | 1 internal compiler error: in retrieve_last_ref, at fortran/trans-array.cc:6197 0x6e889a retrieve_last_ref(gfc_ref**, gfc_ref**) ../../gccx/gcc/fortran/trans-array.cc:6197 0xa34c20 gfc_array_allocate(gfc_se*, gfc_expr*, tree_node*, tree_node*, tree_node*, tree_node*, tree_node*, tree_node**, gfc_expr*, tree_node*, bool, gfc_omp_namelist*) ../../gccx/gcc/fortran/trans-array.cc:6290 0xacce0b gfc_trans_allocate(gfc_code*, gfc_omp_namelist*) ../../gccx/gcc/fortran/trans-stmt.cc:6850 0xa25b49 trans_code ../../gccx/gcc/fortran/trans.cc:2535 0xa5ca15 gfc_generate_function_code(gfc_namespace*) ../../gccx/gcc/fortran/trans-decl.cc:7875 0x9cc496 translate_all_program_units ../../gccx/gcc/fortran/parse.cc:7073 0x9cc496 gfc_parse_file()