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.