https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106999
Bug ID: 106999 Summary: [11/12/13 Regression] ICE tree check: expected record_type or union_type or qual_union_type, have function_type in gfc_class_data_get, at fortran/trans-expr.cc:233 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Started with r11 before 20200503 : $ cat z1.f90 program p type t procedure(g), pointer :: f end type class(t), allocatable :: z call s(z%f) contains subroutine g(x) class(t) :: x end subroutine s(x) class(*) :: x end end $ gfortran-13-20220918 -c z1.f90 $ gfortran-10 -c z1.f90 $ gfortran-10 -c z1.f90 -fcheck=all $ $ gfortran-13-20220918 -c z1.f90 -fcheck=all z1.f90:6:14: 6 | call s(z%f) | 1 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.cc:233 0x6c055a tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.cc:8827 0x8ec48b tree_check3(tree_node*, char const*, int, char const*, tree_code, tree_code, tree_code) ../../gcc/tree.h:3560 0x8ec48b gfc_class_data_get(tree_node*) ../../gcc/fortran/trans-expr.cc:233 0x8f6b46 gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*, gfc_expr*, vec<tree_node*, va_gc, vl_embed>*) ../../gcc/fortran/trans-expr.cc:7228 0x9580b0 gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool) ../../gcc/fortran/trans-stmt.cc:422 0x8b0aa6 trans_code ../../gcc/fortran/trans.cc:2018 0x8e8009 gfc_generate_function_code(gfc_namespace*) ../../gcc/fortran/trans-decl.cc:7654 0x859a2e translate_all_program_units ../../gcc/fortran/parse.cc:6671 0x859a2e gfc_parse_file() ../../gcc/fortran/parse.cc:6977 0x8a7ccf gfc_be_parse_file ../../gcc/fortran/f95-lang.cc:229