https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89217

--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Some sort of modification happens twice for the RANGE_FOR_EXPR.  Originally we
have
{*((struct S *) this)->r}
which should be turned to
TARGET_EXPR <D.2334, {.r=(struct R &) (struct R *) ((struct S *) this)->r}>
but we now reprocess this again and get bogus
TARGET_EXPR <D.2344, {.r=(struct R &) (struct R *) (struct R &) (struct R *)
*((struct S *) this)->r}>

Reply via email to