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

--- Comment #3 from Patrick Palka <ppalka at gcc dot gnu.org> ---
During cxx_eval_indirect_ref for

  *(const struct C &) (const struct C *) (struct C *) ((struct B *) this + -4);

constant evaluation of the pointee yields

  &D.2217.D.2106 + -4

where D.2217 is a temporary of type C and D.2106 is the FIELD_DECL for the base
B<C>.  The problem seems to be that cxx_fold_indirect_ref doesn't know how to
fold this second expression to just

  &D.2217

Reply via email to