On 09/22/2014 11:00 AM, Richard Biener wrote:
It seems to me that walk_stmt_load_store_addr_ops is called on
bogus input. The function is supposed to be called on GIMPLE
stmts and in GIMPLE stmts CONSTRUCTORs may _not_ have
conversions in their elements.
Please revert if you have applied already.
For the testcase I can indeed see
<bb 2>:
pin_3 = {(unsigned int) (long int) &g[16]};
but that's invalid GIMPLE, unfortunately not caught by out checker.
Please fix the root cause and add checking to verify_gimple_assign_single.
Hmm, fix how exactly? What representation do you want for an initializer
where a pointer is cast to an int (or to a different address space,
something that will be possible with patches I'll submit in the near
future)?
Bernd