On Wed, Aug 14, 2013 at 9:07 AM, Jason Merrill <ja...@redhat.com> wrote: > On 08/12/2013 08:34 PM, Adam Butcher wrote: >> >> Currently it is the implicit function template code in pt.c that updates >> this; specifically add_implicit_template_parms and >> finish_fully_implicit_template. >> >> It is queried by the parser (both in parser.c and lambda.c) to decide >> whether a new [implicit] template parameter list as been started and to >> decide how to finish up. >> >> I had a look into this; it should be possible to move these out of pt.c >> and into parser.c (or some new file generic-parms.c, implicit-pt.c or >> some such) and possibly add a plain global counter for this state, >> rather than attribute it to each scope. > > > Right, I was thinking it would make sense as a field of cp_parser, since it > doesn't affect template instantiation context.
Agreed. I think we should reduce the number of such object macro states. -- Gaby