https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113118
Bug ID: 113118
Summary: ICE on assignment of derived types with allocatable
class component
Product: gcc
Version: 13.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: baradi09 at gmail dot com
Target Milestone: ---
I get an internal compiler error with the following demo code. As far, as I can
judge, the code is standard conforming.
module bugdemo
implicit none
type :: base_type
character(:), allocatable :: name
end type base_type
type :: base_type_item
class(base_type), allocatable :: item
end type base_type_item
type, extends(base_type) :: derived_type
integer :: val = 0
end type derived_type
contains
function derived_type_as_item(name, val) result(item)
character(*), intent(in) :: name
integer, intent(in) :: val
type(base_type_item), allocatable :: item
item = base_type_item(derived_type(name=name, val=val))
end function derived_type_as_item
end module bugdemo
Compiling it with
gfortran -c bugdemo.f90
results in
23 | item = base_type_item(derived_type(name=name, val=val))
| 1
internal compiler error: in fold_convert_loc, at fold-const.cc:2627
0x69f6fa fold_convert_loc(unsigned int, tree_node*, tree_node*)
../.././gcc/fold-const.cc:2627
0x824e17 gfc_trans_subcomponent_assign
../.././gcc/fortran/trans-expr.cc:9027
0x825a22 gfc_trans_structure_assign(tree_node*, gfc_expr*, bool, bool)
../.././gcc/fortran/trans-expr.cc:9265
0x826808 gfc_conv_structure(gfc_se*, gfc_expr*, int)
../.././gcc/fortran/trans-expr.cc:9332
0x81d6fc gfc_conv_expr(gfc_se*, gfc_expr*)
../.././gcc/fortran/trans-expr.cc:9500
0x829ab5 gfc_trans_assignment_1
../.././gcc/fortran/trans-expr.cc:11877
0x7e0f77 trans_code
../.././gcc/fortran/trans.cc:2229
0x80f1e9 gfc_generate_function_code(gfc_namespace*)
../.././gcc/fortran/trans-decl.cc:7715
0x7e5641 gfc_generate_module_code(gfc_namespace*)
../.././gcc/fortran/trans.cc:2649
0x785d35 translate_all_program_units
../.././gcc/fortran/parse.cc:6707
0x785d35 gfc_parse_file()
../.././gcc/fortran/parse.cc:7026
0x7dde4f gfc_be_parse_file
../.././gcc/fortran/f95-lang.cc:229
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.