[Bug fortran/104553] New: ICE in aggregate_value_p, at function.cc:2087

gscfq@t-online.de gcc-bugzilla@gcc.gnu.org
Tue Feb 15 19:37:48 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104553

            Bug ID: 104553
           Summary: ICE in aggregate_value_p, at function.cc:2087
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Affects versions down to at least r5 :


$ cat z1.f90
module m
   type t
   contains
      procedure :: g => h
   end type
contains
   subroutine h(a, b)
      class(t) :: a
      class(t) :: b
   end
   subroutine s(c, d)
      class(t) :: c
      class(t) :: d(:)
      call c%g(c(1))
   end
end


$ gfortran-12-20220213 -c z1.f90
during RTL pass: expand
z1.f90:14:20:

   14 |       call c%g(c(1))
      |                    ^
internal compiler error: in aggregate_value_p, at function.cc:2087
0x9d05c7 aggregate_value_p(tree_node const*, tree_node const*)
        ../../gcc/function.cc:2087
0x860eeb expand_call(tree_node*, rtx_def*, int)
        ../../gcc/calls.cc:2770
0x97fafe expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.cc:11539
0x874e21 expand_expr
        ../../gcc/expr.h:301
0x874e21 expand_call_stmt
        ../../gcc/cfgexpand.cc:2831
0x874e21 expand_gimple_stmt_1
        ../../gcc/cfgexpand.cc:3864
0x874e21 expand_gimple_stmt
        ../../gcc/cfgexpand.cc:4028
0x8799f7 expand_gimple_basic_block
        ../../gcc/cfgexpand.cc:6069
0x87c49e execute
        ../../gcc/cfgexpand.cc:6795


$ gfortran-12-20220213 -c z1.f90   # with checking enabled
z1.f90:14:20:

   14 |       call c%g(c(1))
      |                    ^
internal compiler error: tree check: expected function_type or method_type,
have pointer_type in gimplify_call_expr, at gimplify.cc:3588
0x6aa308 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/tree.cc:8688
0xb49200 tree_check2(tree_node*, char const*, int, char const*, tree_code,
tree_code)
        ../../gcc/tree.h:3464
0xb49200 gimplify_call_expr
        ../../gcc/gimplify.cc:3588
0xb3cdcc gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:14945
0xb40b08 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7028
0xb3c16b gimplify_statement_list
        ../../gcc/gimplify.cc:2018
0xb3c16b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:15418
0xb40b08 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7028
0xb41493 gimplify_bind_expr
        ../../gcc/gimplify.cc:1427
0xb3ce1a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:15174
0xb40b08 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7028
0xb41493 gimplify_bind_expr
        ../../gcc/gimplify.cc:1427
0xb3ce1a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:15174
0xb40b08 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7028
0xb426ee gimplify_body(tree_node*, bool)
        ../../gcc/gimplify.cc:16219
0xb42cd7 gimplify_function_tree(tree_node*)
        ../../gcc/gimplify.cc:16373
0x953c87 cgraph_node::analyze()
        ../../gcc/cgraphunit.cc:675
0x956f36 analyze_functions
        ../../gcc/cgraphunit.cc:1240
0x95810d symbol_table::finalize_compilation_unit()
        ../../gcc/cgraphunit.cc:2500


More information about the Gcc-bugs mailing list