http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47370
Summary: error: invalid first operand of MEM_REF
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
regehr@home:~/volatile/bugs/tmp346$ current-gcc -O2 -c small.c
small.c: In function ‘func_115’:
small.c:27:1: error: invalid first operand of MEM_REF
&l_233[0]
small.c:18:3: note: in statement
# .MEM_6 = VDEF <.MEM_1(D)>
MEM[(struct S0 *)&l_233[0]] = l_111$f4_5;
small.c:27:1: internal compiler error: verify_stmts 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/tmp346$ current-gcc -v
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/mnt/z/z/compiler-install/gcc-r169046-install/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/mnt/z/z/compiler-install/gcc-r169046-install
--program-prefix=r169046- --enable-languages=c,c++
Thread model: posix
gcc version 4.6.0 20110120 (experimental) (GCC)
regehr@home:~/volatile/bugs/tmp346$ cat small.c
struct S0
{
int f4;
};
void func_23 (void)
{
int i;
for (i = 0; i < 1;)
;
}
struct S0 func_105 (void)
{
struct S0 l_111 = {
99
};
return l_111;
}
void func_115 (void)
{
struct S0 l_233[1];
l_233[0] = func_105 ();
func_105 ();
func_23 ();
}