This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/54980] [4.8 regression] gimple check: expected gimple_cond(error_mark), have gimple_call() in gimple_cond_set_lhs, at gimple.h:2578
- From: "dimhen at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 24 Oct 2012 09:58:31 +0000
- Subject: [Bug lto/54980] [4.8 regression] gimple check: expected gimple_cond(error_mark), have gimple_call() in gimple_cond_set_lhs, at gimple.h:2578
- Auto-submitted: auto-generated
- References: <bug-54980-4@http.gcc.gnu.org/bugzilla/>
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++]);
}