This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ RFH] PR 56961


Hi,

On 06/05/2014 03:35 PM, Richard Biener wrote:
On Thu, Jun 5, 2014 at 3:26 PM, Paolo Carlini <paolo.carlini@oracle.com> wrote:
Hi,


On 06/05/2014 03:20 PM, Richard Biener wrote:
I think the operands have to be reversed though - the type matches that of
op0. Sorry ;)
Something like this, then?
Yes.  I suppose it's ok to re-order side-effects lhs, rhs to rhs, lhs?
Otherwise you'd need to do sth like

   op0 = save_expr (op0);
   *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p),
                             op0,
                             build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p),
                                        build_fold_addr_expr (op1), op0));

(which may or may not work or be a good idea with zero-size aggregate op0)
In any case, I think that we would not regress on this... and, well, we have plenty of time for further tweaks (this goes to mainline only, of course). The below passes testing, if nobody has further comments tomorrow I will commit it.

Thanks again,
Paolo.

//////////////////////////

Attachment: CL_56961
Description: Text document

Attachment: patch_56961
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]