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

--- Comment #10 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
We have:

  TARGET_EXPR <D.2996, (void) (D.2996 = {.status=0, .data={._vptr.Foo=&_ZTV3Foo
+ 16}})>

so object=D.2996 whose type is Data, so we do not go down the VOID_TYPE_P path
in cxx_eval_outermost_constant_expr, and evaluate the whole init to VOID_CST. 
Obviously, that should not happen.

I'm not sure why we create TARGET_EXPRs that look like this.

Reply via email to