[Bug middle-end/60085] New: ICE in get_frame_type on weird code

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 5 21:32:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60085

            Bug ID: 60085
           Summary: ICE in get_frame_type on weird code
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org

void
foo (void)
{
  void weirdo (a)
    char a[({ char b = 0; b; })];
  {
  }
}

$ ./cc1 -quiet weirdo.c
weirdo.c: In function ‘foo’:
weirdo.c:2:1: internal compiler error: Segmentation fault
 foo (void)
 ^
0xb40cf1 crash_signal
    /home/marek/src/gcc/gcc/toplev.c:337
0xbd9b8f get_frame_type
    /home/marek/src/gcc/gcc/tree-nested.c:234
0xbda267 get_chain_decl
    /home/marek/src/gcc/gcc/tree-nested.c:342
0xbdb919 get_nonlocal_debug_decl
    /home/marek/src/gcc/gcc/tree-nested.c:856
0xbdc017 convert_nonlocal_reference_op
    /home/marek/src/gcc/gcc/tree-nested.c:934
0xdffd3d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, pointer_set_t*, tree_node* (*)(tree_node**, int*, tree_node*
(*)(tree_node**, int*, void*), void*, pointer_set_t*))
    /home/marek/src/gcc/gcc/tree.c:10920
0x8d0496 walk_gimple_op(gimple_statement_base*, tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:221
0x8d1093 walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:535
0x8cfcfe walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:58
0x8d10eb walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:545
0x8cfcfe walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:58
0x8d10eb walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:545
0x8cfcfe walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
    /home/marek/src/gcc/gcc/gimple-walk.c:58
0xbdafff walk_body
    /home/marek/src/gcc/gcc/tree-nested.c:603
0xbdb041 walk_function
    /home/marek/src/gcc/gcc/tree-nested.c:614
0xbdb382 walk_all_functions
    /home/marek/src/gcc/gcc/tree-nested.c:679
0xbe1f85 lower_nested_functions(tree_node*)
    /home/marek/src/gcc/gcc/tree-nested.c:2724
0x71b6e4 analyze_function
    /home/marek/src/gcc/gcc/cgraphunit.c:656
0x71c793 analyze_functions
    /home/marek/src/gcc/gcc/cgraphunit.c:1017
0x71ff46 finalize_compilation_unit()
    /home/marek/src/gcc/gcc/cgraphunit.c:2320
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


More information about the Gcc-bugs mailing list