[Bug optimization/12292] New: internal compiler error: RTL check: expected code `const_int', have `reg' in make_field_assignment, at combine.c:7815
marky at model dot com
gcc-bugzilla@gcc.gnu.org
Mon Sep 15 21:27:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12292
Summary: internal compiler error: RTL check: expected code
`const_int', have `reg' in make_field_assignment, at
combine.c:7815
Product: gcc
Version: 3.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marky at model dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: x86_64-suse-linux-gnu
GCC host triplet: x86_64-suse-linux-gnu
GCC target triplet: x86_64-suse-linux-gnu
gcc 3.3.1 internal compiler error on the following short test case.
% gcc -c bug.c -O
bug.c: In function `bug':
bug.c:35: internal compiler error: RTL check: expected code `const_int', have
`reg' in make_field_assignment, at combine.c:7815
--- bug.c ---
typedef struct {
char flags;
} rec;
extern char vec[10];
int bug(rec *c)
{
char *p = 0;
int v, t, f;
for (;;) {
switch (*p++) {
case 0:
t = *p++;
f = *p++;
v = vec[*p++];
if (v == 1) {
if (f)
c->flags |= (1 << t);
} else {
if (!f)
c->flags &= ~(1 << t);
}
break;
case 1:
v = vec[*p++];
break;
case 2:
((void) ((p == 0) ? 0 : (__assert_fail ("p == 0", "bug.c", 31,
__PRETTY_FUNCTION__), 0)));
break;
}
}
return 0;
}
--- end bug.c ---
gcc build configuration:
configure --prefix=/usr/local --host=x86_64-suse-linux-gnu --disable-nls
--enable-threads=posix --enable-clocale=gnu --enable-__cxa_atexit
--enable-shared --enable-languages=c,c++,f77,objc,treelang,java,f77
--enable-checking=misc,tree,rtl,gc,rtlflag --with-system-zlib
More information about the Gcc-bugs
mailing list