------- Comment #13 from rguenth at gcc dot gnu dot org 2008-12-03 15:33 ------- We should be able to go via a VIEW_CONVERT_EXPR when propagating (struct Foo *) &i into the LHS dereference D.2279_5->i[0]. That is, convert that to
VIEW_CONVERT_EXPR <struct Foo> (i)->i[0] and further fold that by noting that the final access is at offset zero and of the same type as i. (or more generally, for a final offset zero access always strip all component-refs and fold to VIEW_CONVERT_EXPR <final-access-type> (i)). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36143