On Fri, Feb 19, 2016 at 10:41 AM, Jason Merrill <ja...@redhat.com> wrote: > On 02/18/2016 01:25 PM, Patrick Palka wrote: >> >> On Wed, Feb 17, 2016 at 10:51 PM, Jason Merrill <ja...@redhat.com> wrote: >>> >>> OK. >> >> >> Is this an approval of the 2nd patch for next stage 1? > > > Actually, I've been looking at this area a lot recently in the context of > the 10200 fix, and now I think we can go ahead with the 2nd patch now, but > without the assert; I think it would fire if we wrote A::A().
I w ill commit the version without the assert shortly, but... I haven't been able to get the assert to fire even when the A in A::A() is dependent because in that case FN should be dependent, so we would already have exited out of finish_call_expr due to the type_dependent_expression_p (fn) check near the top of finish_call_expr. (In particular for dependent A::A(), FN is a SCOPE_REF whose 1st operand is the dependent type A and 2nd operand is the identifier node A.) So it seems to me that the assert at that location is safe, since the dummy object should be dependent only if the constructor call FN is dependent in which case we would never reach the assert.