On 9/6/05, Richard Kenner <[EMAIL PROTECTED]> wrote: > Here's a fragment of the SSA dump for a shortened version of that > test. > > > D.860_8 = __gnat_malloc (20); > # D.861_10 = V_MUST_DEF <D.861_9>; > D.861 = (struct c34007p__designated *) D.860_8; > # VUSE <D.861_10>; > VIEW_CONVERT_EXPR<struct c34007p__T7b>(*D.861).b = 1; > # VUSE <D.861_10>; > VIEW_CONVERT_EXPR<struct c34007p__T7b>(*D.861).l = 3;
Why are we using a VIEW_CONVERT_EXPR here btw? I'd say D.862 = (struct c34007p__T7b *) D.860; D.862->b = 1; would be a lot more middle-end friendly and maybe not exposing the problem you are seeing? Of course the gimplifier could do this transformation. Richard.