https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98463
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- On #c4, I think the problem is during cxx_eval_store_expression of ((struct A *) this)->a = {}; where this has A * type, but the *valp CONSTRUCTOR we try to get_or_insert_ctor_field it into has type B. We insert it with FIELD_DECL a which is A's member, but the CONSTRUCTOR handling assumes (rightfully) that the FIELD_DECLs in the CONSTRUCTOR_ELTS indexes are from the type of the CONSTRUCTOR.