This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


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++]);
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]