https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86242
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed| |2018-06-29 CC| |janus at gcc dot gnu.org Summary|[F03] ICE for derived type |[6/7/8/9 Regression] [OOP] |with allocatable class |ICE for derived type with |component |allocatable class component Ever confirmed|0 |1 --- Comment #1 from janus at gcc dot gnu.org --- Confirmed. Works for me with gfortran 4.6, but ICEs with all later versions, thus it's a (rather old) regression. With trunk I get: end module test internal compiler error: tree check: expected record_type or union_type or qual_union_type, have function_type in gfc_class_data_get, at fortran/trans-expr.c:191 0x5bb752 tree_check_failed(tree_node const*, char const*, int, char const*, ...) /home/janus/gcc/trunk/gcc/tree.c:9355 0x75066b tree_check3(tree_node*, char const*, int, char const*, tree_code, tree_code, tree_code) /home/janus/gcc/trunk/gcc/tree.h:3157 0x75066b gfc_class_data_get(tree_node*) /home/janus/gcc/trunk/gcc/fortran/trans-expr.c:191 0x732f06 structure_alloc_comps /home/janus/gcc/trunk/gcc/fortran/trans-array.c:8863 0x754d67 gfc_trans_scalar_assign(gfc_se*, gfc_se*, gfc_typespec, bool, bool, bool) /home/janus/gcc/trunk/gcc/fortran/trans-expr.c:8940 0x766cd1 gfc_trans_assignment_1 /home/janus/gcc/trunk/gcc/fortran/trans-expr.c:10275 0x717f65 trans_code /home/janus/gcc/trunk/gcc/fortran/trans.c:1843 0x74ca15 gfc_generate_function_code(gfc_namespace*) /home/janus/gcc/trunk/gcc/fortran/trans-decl.c:6469 0x71d119 gfc_generate_module_code(gfc_namespace*) /home/janus/gcc/trunk/gcc/fortran/trans.c:2222 0x6cb8dd translate_all_program_units /home/janus/gcc/trunk/gcc/fortran/parse.c:6112 0x6cb8dd gfc_parse_file() /home/janus/gcc/trunk/gcc/fortran/parse.c:6328 0x714c2f gfc_be_parse_file /home/janus/gcc/trunk/gcc/fortran/f95-lang.c:204