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

Reply via email to