Re: [PATCH] Fix PR c++/69736

2016-02-24 Thread Jason Merrill
OK. Jason

Re: [PATCH] Fix PR c++/69736

2016-02-24 Thread Patrick Palka
On Wed, 24 Feb 2016, Jason Merrill wrote: On 02/23/2016 11:24 AM, Patrick Palka wrote: 1. making tsubst_copy_and_build retain the REF_PARENTHESIZED_P flag when processing an INDIRECT_REF, or by This should happen in any case. 2. moving the call to maybe_undo_parenthesized_ref in finish_call_

Re: [PATCH] Fix PR c++/69736

2016-02-24 Thread Jason Merrill
On 02/23/2016 11:24 AM, Patrick Palka wrote: 1. making tsubst_copy_and_build retain the REF_PARENTHESIZED_P flag when processing an INDIRECT_REF, or by This should happen in any case. 2. moving the call to maybe_undo_parenthesized_ref in finish_call_expr before the assignment of orig_fn so th

Re: [PATCH] Fix PR c++/69736

2016-02-23 Thread Patrick Palka
On Tue, 23 Feb 2016, Patrick Palka wrote: On Tue, 23 Feb 2016, Marek Polacek wrote: On Tue, Feb 23, 2016 at 09:58:41AM -0500, Patrick Palka wrote: finish_call_expr thinks that a call to a function which has been obfuscated by force_paren_expr is a call to an unknown function. This eventually

Re: [PATCH] Fix PR c++/69736

2016-02-23 Thread Patrick Palka
On Tue, 23 Feb 2016, Marek Polacek wrote: On Tue, Feb 23, 2016 at 09:58:41AM -0500, Patrick Palka wrote: finish_call_expr thinks that a call to a function which has been obfuscated by force_paren_expr is a call to an unknown function. This eventually leads us to not make use of the function's

Re: [PATCH] Fix PR c++/69736

2016-02-23 Thread Marek Polacek
On Tue, Feb 23, 2016 at 09:58:41AM -0500, Patrick Palka wrote: > finish_call_expr thinks that a call to a function which has been > obfuscated by force_paren_expr is a call to an unknown function. This > eventually leads us to not make use of the function's default arguments > when processing the

[PATCH] Fix PR c++/69736

2016-02-23 Thread Patrick Palka
finish_call_expr thinks that a call to a function which has been obfuscated by force_paren_expr is a call to an unknown function. This eventually leads us to not make use of the function's default arguments when processing the argument list. So a function call like f() may compile and yet (f)() m