On 9/15/20 3:57 AM, Jakub Jelinek wrote:
Hi!

The following testcase is miscompiled (in particular the a and i
initialization).  The problem is that build_special_member_call due to
the immediate constructors (but not evaluated in constant expression mode)
doesn't create a CALL_EXPR, but returns a TARGET_EXPR with CONSTRUCTOR
as the initializer for it,

That seems like the bug; at the end of build_over_call, after you

       call = cxx_constant_value (call, obj_arg);

You need to build an INIT_EXPR if obj_arg isn't a dummy.

Jason

Reply via email to