-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
| Bugzilla Link | 2175 |
| Resolution | WONTFIX |
| Resolved on | Dec 02, 2010 01:58 |
| Version | trunk |
| OS | All |
| CC | @asl,@efriedma-quic |
Extended Description
llvm-gcc aborts on this:
void *p(void);
long d(void);
float foo(long i0, long i1, long i2, long i3, long i4, long i5) {
return ((float (((*)[d()])[])[])p())[i0][i1][i2][i3][i4][i5];
}
The abort looks like this:
Unhandled expression!
TREE_CODE: 117
<save_expr 0x41d14990
type <integer_type 0x41d0c3f0 long int public SI
size <integer_cst 0x41d046c0 constant invariant 32>
unit size <integer_cst 0x41d041e0 constant invariant 4>
align 32 symtab 2 alias set -1 precision 32 min <integer_cst 0x41d047e0 -2147483648> max <integer_cst 0x41d04810 2147483647>
LLVM: i32
pointer_to_this <pointer_type 0x41d16b60>>
side-effects invariant
arg 0 <call_expr 0x41d14900 type <integer_type 0x41d0c3f0 long int>
side-effects
arg 0 <addr_expr 0x41d148d0 type <pointer_type 0x41dbacb0>
constant invariant arg 0 <function_decl 0x41dbb300 d>>>>
t.c: In function ‘foo’:
t.c:4: internal compiler error: in Emit, at llvm-convert.cpp:851