This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/48305] New: ice at -O0: verify_gimple failed
- From: "regehr at cs dot utah.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 27 Mar 2011 20:45:18 +0000
- Subject: [Bug c/48305] New: ice at -O0: verify_gimple failed
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48305
Summary: ice at -O0: verify_gimple failed
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: regehr@cs.utah.edu
CC: chenyang@cs.utah.edu
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
regehr@home:~/volatile/bugs/tmp006$ current-gcc -O0 -c small.c
small.c: In function âfunc_18â:
small.c:36:15: error: type mismatch in comparison expression
unsigned int
int
unsigned int
D.1991 = D.1979 == D.1990;
small.c:36:15: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
regehr@home:~/volatile/bugs/tmp006$ current-gcc -v
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/mnt/z/z/compiler-install/gcc-r171573-install/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/mnt/z/z/compiler-install/gcc-r171573-install
--program-prefix=r171573- --enable-languages=c,c++
Thread model: posix
gcc version 4.7.0 20110327 (experimental) (GCC)
regehr@home:~/volatile/bugs/tmp006$ cat small.c
static signed char foo (signed char si1, unsigned char si2)
{
return si2 || si1 && si2 ? : si1 + si2;
}
static unsigned char bar (unsigned ui1, unsigned char ui2)
{
return ui1 + ui2;
}
static unsigned char baz (unsigned ui1, unsigned char ui2)
{
return ui2 ? : ui1 + ui2;
}
struct S0
{
unsigned char f0;
const unsigned char f2;
unsigned char f3;
};
struct S1
{
const unsigned f7:54 > 1 * 8 ? : 0;
};
struct S1 g_99[9][1][5] = {
};
struct S0 g_244[10][3][1] = {
};
unsigned char func_127 (const unsigned char);
unsigned char func_18 (struct S0 p_19, unsigned char p_20)
{
unsigned char l_605[4];
p_20 |=
baz (bar
((func_127 (0) ^ p_19.f3 > l_605[2] >= 0) ==
(1U ^
foo (p_19.f0,
l_605[1]) &
g_244[1][2][0].f2), g_244[1][2][0].f3), 1);
return g_99[4][0][0].f7;
}