http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50609
Bug #: 50609 Summary: [4.7 Regression] FAIL: gcc.c-torture/execute/pr23135.c compilation, -O2 -flto (ICE) Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: h...@gcc.gnu.org CC: artyom.shinkar...@gmail.com, hjl.to...@gmail.com, h...@gcc.gnu.org Depends on: 50607 +++ This bug was initially created as a clone of Bug #50607 +++ See PR50607#c1. The SEGV happens in lto1. Here's a gdb backtrace (N.B. optimized code on a x86_64 host) running lto1 with "-melf -quiet -dumpdir /tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/testsuite/gcc/ -dumpbase pr23135.x6 -auxbase-strip /tmp/ccSn7Zx5.lto.o -O2 -w -version -flto-partition=none -fresolution=pr23135.res pr23135.o -o pr23135.s": (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/lto1 -melf -quiet -dumpdir /tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/testsuite/gcc/ -dumpbase pr23135.x6 -auxbase-strip /tmp/ccSn7Zx5.lto.o -O2 -w -version -flto-partition=none -fresolution=pr23135.res pr23135.o -o pr23135.s GNU GIMPLE (GCC) version 4.7.0 20111003 (experimental) [trunk revision 179480] (cris-elf) compiled by GNU C version 4.4.3 20100127 (Red Hat 4.4.3-4), GMP version 4.3.0, MPFR version 2.4.1, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU GIMPLE (GCC) version 4.7.0 20111003 (experimental) [trunk revision 179480] (cris-elf) compiled by GNU C version 4.4.3 20100127 (Red Hat 4.4.3-4), GMP version 4.3.0, MPFR version 2.4.1, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Program received signal SIGSEGV, Segmentation fault. fold_nonarray_ctor_reference (type=<value optimized out>, ctor=<value optimized out>, offset=<value optimized out>, size=32) at /tmp/hpautotest-gcc1/gcc/gcc/gimple-fold.c:2834 2834 tree byte_offset = DECL_FIELD_OFFSET (cfield); (gdb) bt #0 fold_nonarray_ctor_reference (type=<value optimized out>, ctor=<value optimized out>, offset=<value optimized out>, size=32) at /tmp/hpautotest-gcc1/gcc/gcc/gimple-fold.c:2834 #1 fold_ctor_reference (type=<value optimized out>, ctor=<value optimized out>, offset=<value optimized out>, size=32) at /tmp/hpautotest-gcc1/gcc/gcc/gimple-fold.c:2923 #2 0x000000000062225c in fold_const_aggregate_ref_1 (t=0x7ffff7f7ca10, valueize=0) at /tmp/hpautotest-gcc1/gcc/gcc/gimple-fold.c:3017 #3 0x0000000000627c10 in maybe_fold_reference (expr=0x7ffff7f7ca10, is_lhs=0 '\000') at /tmp/hpautotest-gcc1/gcc/gcc/gimple-fold.c:232 #4 0x00000000006292c1 in fold_stmt_1 (gsi=0x7fffffffdb00, inplace=0 '\000') at /tmp/hpautotest-gcc1/gcc/gcc/gimple-fold.c:1168 #5 0x0000000000833b1a in optimize_stmt (bb=0x7ffff7f85478, si=...) at /tmp/hpautotest-gcc1/gcc/gcc/tree-ssa-dom.c:2133 #6 0x00000000008347ad in dom_opt_enter_block (walk_data=<value optimized out>, bb=0x7ffff7f85478) at /tmp/hpautotest-gcc1/gcc/gcc/tree-ssa-dom.c:1686 #7 0x00000000009d7228 in walk_dominator_tree (walk_data=0x7fffffffdc50, bb=0x7ffff7f85478) at /tmp/hpautotest-gcc1/gcc/gcc/domwalk.c:188 #8 0x000000000082ed7d in tree_ssa_dominator_optimize () at /tmp/hpautotest-gcc1/gcc/gcc/tree-ssa-dom.c:709 #9 0x00000000006f5f82 in execute_one_pass (pass=0xee6160) at /tmp/hpautotest-gcc1/gcc/gcc/passes.c:2064 #10 0x00000000006f6295 in execute_pass_list (pass=0xee6160) at /tmp/hpautotest-gcc1/gcc/gcc/passes.c:2119 #11 0x00000000006f62a7 in execute_pass_list (pass=0xe606e0) at /tmp/hpautotest-gcc1/gcc/gcc/passes.c:2120 #12 0x00000000007d92f8 in tree_rest_of_compilation (fndecl=0x7ffff7f74800) at /tmp/hpautotest-gcc1/gcc/gcc/tree-optimize.c:420 #13 0x00000000004e836e in cgraph_expand_function (node=0x7ffff7f7f120) at /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1805 #14 0x00000000004eb72a in cgraph_expand_all_functions () at /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1864 #15 cgraph_optimize () at /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:2141 #16 0x0000000000475344 in lto_main () at /tmp/hpautotest-gcc1/gcc/gcc/lto/lto.c:2868 #17 0x00000000007776a1 in compile_file () at /tmp/hpautotest-gcc1/gcc/gcc/toplev.c:565 #18 do_compile () at /tmp/hpautotest-gcc1/gcc/gcc/toplev.c:1925 #19 0x0000000000778212 in toplev_main (argc=17, argv=0x7fffffffe008) at /tmp/hpautotest-gcc1/gcc/gcc/toplev.c:2001 #20 0x00000037d421eb1d in __libc_start_main () from /lib64/libc.so.6 #21 0x0000000000459959 in _start () I'll re-run that with all *.o rebuilt with "-O0 -g3".