[Bug c++/59647] New: [4.8] ICE in simplify_const_unary_operation, at simplify-rtx.c:1597
ppluzhnikov at google dot com
gcc-bugzilla@gcc.gnu.org
Tue Dec 31 02:12:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59647
Bug ID: 59647
Summary: [4.8] ICE in simplify_const_unary_operation, at
simplify-rtx.c:1597
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppluzhnikov at google dot com
Google ref: b/12262120
4.8 is broken, trunk does not fail (not sure whether the problem is fixed on
trunk, or merely masked by other changes).
void fn1i (int);
void fn1 ();
struct A
{
int m_fn1 () const
{
if (this->_M_impl._M_finish == 0)
return 1;
return 0;
}
unsigned m_fn2 ()
{
if (!this->m_fn1 ())
fn1 ();
return this->_M_impl._M_finish;
}
double operator[] (int);
struct B
{
int _M_finish;
};
B _M_impl;
};
void
fn2 (A & p1)
{
unsigned b = p1.m_fn2 ();
fn1i (b - 1 - p1[p1.m_fn2 () - 1]);
}
gcc --version
gcc (GCC) 4.8.3 20131230 (prerelease)
Configured for x86_64.
gcc -c t.ii -m32 -fno-tree-vrp -mfpmath=sse -O2
t.ii: In function ‘void fn2(A&)’:
t.ii:30:1: internal compiler error: in simplify_const_unary_operation, at
simplify-rtx.c:1597
}
^
0x891d5a simplify_const_unary_operation(rtx_code, machine_mode, rtx_def*,
machine_mode)
../../gcc/simplify-rtx.c:1597
0x888b2a simplify_unary_operation(rtx_code, machine_mode, rtx_def*,
machine_mode)
../../gcc/simplify-rtx.c:796
0xbfcbd6 fold_rtx
../../gcc/cse.c:3287
0xc01fd1 canonicalize_insn
../../gcc/cse.c:4396
0xc01fd1 cse_insn
../../gcc/cse.c:4490
0xc038e3 cse_extended_basic_block
../../gcc/cse.c:6405
0xc038e3 cse_main
../../gcc/cse.c:6583
0xc03d06 rest_of_handle_cse
../../gcc/cse.c:7433
Please submit a full bug report,
with preprocessed source if appropriate.
More information about the Gcc-bugs
mailing list