This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH 1/2] PR c++/61636
- From: Jason Merrill <jason at redhat dot com>
- To: Adam Butcher <adam at jessamine dot co dot uk>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 19 Apr 2015 23:28:14 -0400
- Subject: Re: [PATCH 1/2] PR c++/61636
- Authentication-results: sourceware.org; auth=none
- References: <1428636694-6767-1-git-send-email-adam at jessamine dot co dot uk> <1428636694-6767-2-git-send-email-adam at jessamine dot co dot uk> <553165EA dot 70700 at redhat dot com> <a43dcccf0160b43bb7f515299d9b727b at imap dot force9 dot net> <2c51b8076a5ca562f87d7ba0ac8d5a70 at imap dot force9 dot net> <64e70a56f88e6269c16f8ba00de398da at imap dot force9 dot net>
On 04/19/2015 03:03 PM, Adam Butcher wrote:
I think I need to resolve a member call within a generic lambda as if it
were not in template context to determine whether it unambiguously
resolves to a static member function. If it does, then no capture
required. Otherwise, 'this' should be captured because either a) the
call is to a non-static member function without any dependent parameters
or b) because it may resolve to a non-static member function at callop
No sure whether I can do all this at my current patch site in
cp_parser_postfix_expression or whether it needs to be later.
I think it needs to be later, when the context of the lambda is fully
instantiated, so that any other dependencies are resolved. Perhaps this
means that we need to partially instantiate the (generic) lambda body...
This is reminding me of bug 47226, though I'm not sure the fixes need to