Hi,

> -          /* Build the assignment expression.  */
> +          /* Build the assignment expression.  Its default
> +         location is the location of the '=' token.  */
> +          input_location = loc;
>          expr = build_x_modify_expr (loc, expr,
>                      assignment_operator,
>                      rhs,

Now I have one more reason to be interested in this issue ;)

Background: as you may have noticed, I'm working on replacing the various 
build_min* functions used by the various build_x_* functions with _loc 
variants. One of the problems I'm facing with replacing completely one of them 
has to do exactly with assignment expressions and the location of the error we 
get for a library testcase not having the location of the left hand side, as it 
does now, after the patch. Thus, in short, your change here may well help me 
as-is ;) 

That said, the tricks we are playing with the global input_location vs the loc 
we are passing around still confuse me quite a lot. Actually any *assignment* 
to input_location makes me a bit more nervous than I was already ;) Do you have 
any idea whether just passing down to build_x_modify_expr a different value for 
loc instead of assigning to input_location would also work for you? Maybe 
together with more throughly forwarding the loc from build_x_modify_expr itself 
to the build_min* functions (ie the project I mentioned above)??

In any case in a day or two I'll let you know how whether your patch as-is 
works well for the specific issue I'm facing and anyway I will send over the 
actual work in progress patch which I can't submit because of the regression it 
would cause.

Thanks,
Paolo

Reply via email to