http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49948
Summary: ICE with -ftree-parallelize-loops: "address taken, but
ADDRESSABLE bit not set"
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: [email protected]
ReportedBy: [email protected]
Created attachment 24894
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24894
Output of "ajo-gcc -O3 -ftree-parallelize-loops=2 -std=c99 -c test.c -v"
This failure reproduces for me with svn revision 177081 (2011-08-02), and also
with gcc 4.5.1. I'm on Ubuntu 10.10, x86-64 (-march=amdfam10).
cat >test.c <<EOF
extern int ej, *ep;
int func_40() {
int l_48, l_327 = 8;
if (ej <= 7) {
int *l_335[8];
for (int i = 0; i < 8; ++i)
l_335[i] = &l_48;
while (--l_327) {
ej = 0;
ep = l_335[0];
}
return 0;
}
return (ep == &l_327);
}
EOF
gcc -O3 -ftree-parallelize-loops=2 -std=c99 -c test.c
test.c: In function ‘func_40’:
test.c:13:5: error: address taken, but ADDRESSABLE bit not set
l_48
cc1: note: in statement
vect_cst_.15_1 = {&l_48, &l_48};
test.c:13:5: internal compiler error: verify_gimple failed
With gcc 4.5.1, I get this ICE instead. Bug 28233 might be related:
test.c: In function ‘func_40’:
test.c:18:22: internal compiler error: in make_decl_rtl, at varasm.c:1347
This test case is reduced from the output of Csmith 2.1.0 (git hash 210eda7,
https://github.com/Quuxplusone/csmith/), using the following command line:
csmith --no-paranoid --no-longlong --pointers --arrays --jumps --no-consts
--no-volatiles --no-checksum --divs --muls --bitfields --no-packed-struct -s
955105426