https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70239
Bug ID: 70239 Summary: [6 Regression] ICE in ggc_set_mark Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Created attachment 37969 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37969&action=edit Testcase At least gcc-6.0.0-alpha20160306 and gcc-6.0.0-alpha20160313 snapshots terminate w/ SIGSEGV when compiling the attached artificial test case at -O2 or -Os: % x86_64-pc-linux-gnu-gcc-6.0.0-alpha20160313 -c -Os -w lh3spsvf.c lh3spsvf.c: In function 'd5': lh3spsvf.c:7:1: internal compiler error: Segmentation fault d5(void) ^~ Thread 2.1 "cc1" received signal SIGSEGV, Segmentation fault. [Switching to process 543] 0x00000000006da3b3 in ggc_set_mark(void const*) () (gdb) where #0 0x00000000006da3b3 in ggc_set_mark(void const*) () #1 0x00000000005e0f54 in gt_ggc_mx_lang_tree_node(void*) () #2 0x0000000000901bff in gt_ggc_mx_gimple(void*) () #3 0x000000000090183a in gt_ggc_mx_basic_block_def(void*) () #4 0x000000000090189a in gt_ggc_mx_control_flow_graph(void*) () #5 0x00000000009027cc in gt_ggc_mx_function(void*) () #6 0x00000000005e106d in gt_ggc_mx_lang_tree_node(void*) () #7 0x00000000005e1620 in gt_ggc_mx_lang_tree_node(void*) () #8 0x00000000005e15e8 in gt_ggc_mx_lang_tree_node(void*) () #9 0x00000000005e0bde in gt_ggc_mx_lang_tree_node(void*) () #10 0x00000000005e10f3 in gt_ggc_mx_lang_tree_node(void*) () #11 0x00000000005e0ac2 in gt_ggc_mx_lang_tree_node(void*) () #12 0x00000000005e1612 in gt_ggc_mx_lang_tree_node(void*) () #13 0x00000000005e1567 in gt_ggc_mx_lang_tree_node(void*) () #14 0x00000000005e0fa0 in gt_ggc_mx_lang_tree_node(void*) () #15 0x0000000000a5e3e3 in gt_ggc_mx_hash_table_libfunc_decl_hasher_(void*) () #16 0x0000000000899e69 in ggc_mark_root_tab(ggc_root_tab const*) () #17 0x000000000089a0bd in ggc_mark_roots() () #18 0x00000000006dae19 in ggc_collect() () #19 0x0000000000a74e92 in execute_one_pass(opt_pass*) () #20 0x0000000000a752a8 in execute_pass_list_1(opt_pass*) () #21 0x0000000000a752ba in execute_pass_list_1(opt_pass*) () #22 0x0000000000a75305 in execute_pass_list(function*, opt_pass*) () #23 0x000000000075b724 in cgraph_node::expand() () #24 0x000000000075d057 in symbol_table::compile() [clone .part.49] () #25 0x000000000075f4c3 in symbol_table::finalize_compilation_unit() () #26 0x0000000000b3f55a in compile_file() () #27 0x00000000005c8eaf in toplev::main(int, char**) () #28 0x00000000005cb0c7 in main () I failed to reduce the test case in any significant way any more.