OK. -------- Original Message -------- From: Adam Butcher <a...@jessamine.co.uk> Sent: Sun, Sep 22, 2013 08:41 AM To: Jason Merrill <ja...@redhat.com> CC: gcc-patches@gcc.gnu.org Subject: Re: [C++1y] [PATCH 1/4] Use translation-unit-global rather than parameter-list-local counter for generic type names to facilitate nested implicit function templates.
On 20.09.2013 18:46, Jason Merrill wrote: > On 09/19/2013 02:37 PM, Adam Butcher wrote: >> + static int i = 0; > > I think this needs to be global and GTY so that it works properly > with PCH. > Didn't consider PCH. This delta OK? --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -28897,12 +28897,12 @@ c_parse_file (void) /* Create an identifier for a generic parameter type (a synthesized template parameter implied by `auto' or a concept identifier). */ +static GTY(()) int generic_parm_count; static tree make_generic_type_name () { char buf[32]; - static int i = 0; - sprintf (buf, "<auto%d>", ++i); + sprintf (buf, "<auto%d>", ++generic_parm_count); return get_identifier (buf); }