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

            Bug ID: 107705
           Summary: [12/13 Regression] ICE: tree check: expected class
                    'type', have 'exceptional' (error_mark) in
                    ix86_function_type_abi, at config/i386/i386.cc:1529
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Started between 20210822 and 20210905 :


$ cat z1.c
int f (void)
{
  int (*p) (void) = 0;
  return p ();
  int p = 1;
}


$ gcc-13-20221106 -c z1.c
z1.c: In function 'f':
z1.c:5:7: error: conflicting types for 'p'; have 'int'
    5 |   int p = 1;
      |       ^
z1.c:3:9: note: previous definition of 'p' with type 'int (*)(void)'
    3 |   int (*p) (void) = 0;
      |         ^
z1.c:4:10: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in ix86_function_type_abi, at
config/i386/i386.cc:1529
    4 |   return p ();
      |          ^~~~
0x6aed15 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
        ../../gcc/tree.cc:8896
0x130184c tree_class_check(tree_node const*, tree_code_class, char const*, int,
char const*)
        ../../gcc/tree.h:3911
0x130184c ix86_function_type_abi(tree_node const*)
        ../../gcc/config/i386/i386.cc:1529
0x130373d ix86_return_in_memory
        ../../gcc/config/i386/i386.cc:4249
0xb289d0 aggregate_value_p(tree_node const*, tree_node const*)
        ../../gcc/function.cc:2119
0xbbbea5 gimplify_modify_expr_rhs
        ../../gcc/gimplify.cc:5775
0xbbcb0e gimplify_modify_expr
        ../../gcc/gimplify.cc:6100
0xbad0f7 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:16352
0xbb0fd8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7211
0xbabe5e gimplify_and_add(tree_node*, gimple**)
        ../../gcc/gimplify.cc:492
0xbabe5e gimplify_return_expr
        ../../gcc/gimplify.cc:1680
0xbabe5e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:16614
0xbb0fd8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7211
0xbac3cb gimplify_statement_list
        ../../gcc/gimplify.cc:2019
0xbac3cb gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:16797
0xbb0fd8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7211
0xbb1963 gimplify_bind_expr
        ../../gcc/gimplify.cc:1430
0xbac8da gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.cc:16553
0xbb0fd8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.cc:7211
0xbb2bde gimplify_body(tree_node*, bool)
        ../../gcc/gimplify.cc:17612

Reply via email to