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: [PATCH] Latest version of the -Wunused-but-set-{variable,parameter} patches (C++ part)


On 04/15/2010 07:53 AM, Dodji Seketeli wrote:
On Fri, Jan 22, 2010 at 03:17:42PM -0500, Jason Merrill wrote:
It still bothers me that you need to touch so many places where we
actually are using the value of the expression: build_new,
build_delete, decay_conversion, perform_integral_promotions,
cp_build_unary_op [PREINCREMENT_EXPR et al], convert_like_real,
build_x_va_arg, build_over_call, build_new_method_call, rvalue.

I suppose we could improve that situation by making the lvalue uses,
rvalue uses and type-only/pseudo-uses in this patch call different
entry points.

So I could do away with touching build_new, build_delete, cp_build_unary_op, build_over_call, rvalue and build_new_method_call. This comes at the expense of adding *INCREMENT_EXPR support to mark_exp_read and adding calls to it in build_call_a and ocp_convert. I couldn't find how to do away with touching decay_conversion and perform_integral_promotions.

Is this the kind of changes that you meant?

If you leave the call in rvalue, can you avoid the *INCREMENT_EXPR change?


My second paragraph above was requesting that uses as rvalue, lvalue and type call different functions rather than all calling mark_exp_read.

Jason


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