http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54980
--- Comment #8 from Dmitry G. Dyachenko <dimhen at gmail dot com> 2012-10-24 09:58:31 UTC --- i re-check 192757 --enable-checking=release FAIL with $ bash -x tf.sh + g++ -flto -fpreprocessed -c 1.ii -o 1.o + g++ -flto -O1 -fpreprocessed -c 2.ii -o 2.o + g++ -Ofast -flto -o t 1.o 2.o In file included from :0:0: 1.ii: In member function 'parse': 1.ii:6:17: internal compiler error: Segmentation fault virtual int parse () ^ 0x7539bf crash_signal /home/dimhen/src/gcc-current/gcc/toplev.c:335 0x5fd754 internal_fn_flags /home/dimhen/src/gcc-current/gcc/internal-fn.h:48 0x5fd754 gimple_call_flags(gimple_statement_d const*) /home/dimhen/src/gcc-current/gcc/gimple.c:1883 0x80262f gimple_call_noreturn_p /home/dimhen/src/gcc-current/gcc/gimple.h:2413 0x80262f update_stmt_operands(gimple_statement_d*) /home/dimhen/src/gcc-current/gcc/tree-ssa-operands.c:1082 0xb136b6 update_stmt /home/dimhen/src/gcc-current/gcc/gimple.h:1531 0xb136b6 try_unroll_loop_completely /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:552 0xb136b6 canonicalize_loop_induction_variables /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:670 0xb1487e tree_unroll_loops_completely(bool, bool) /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:833 --enable-checking=yes,df,fold,rtl,tree FAIL as 1.ii: In member function 'parse': 1.ii:6:17: internal compiler error: gimple check: expected gimple_cond(error_mark), have gimple_call() in gimple_cond_set_lhs, at gimple.h:2553 virtual int parse () ^ 0x6b1063 gimple_check_failed(gimple_statement_d const*, char const*, int, char const*, gimple_code, tree_code) /home/dimhen/src/gcc-current/gcc/gimple.c:1160 0x107fe69 gimple_cond_set_lhs /home/dimhen/src/gcc-current/gcc/gimple.h:2553 0x107f448 gimple_cond_set_lhs /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:536 0x107f448 gimple_cond_make_true /home/dimhen/src/gcc-current/gcc/gimple.h:2649 0x107f448 try_unroll_loop_completely /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:551 0x107f448 canonicalize_loop_induction_variables /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:670 0x107f982 tree_unroll_loops_completely(bool, bool) /home/dimhen/src/gcc-current/gcc/tree-ssa-loop-ivcanon.c:833 $ cat 1.ii class A { }; template < int (*t_parser) () > class B { virtual int parse () { A a; t_parser (); } }; extern "C" int f (); class C:B < f > { }; void g () { new C; } $ cat 2.ii extern "C" int f (); char *a[] = { 0, 0 }; void bar (char *); int f () { int i; while (1) bar (a[i++]); }