This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


OK.

-------- Original Message --------
 From: Adam Butcher <adam@jessamine.co.uk>
 Sent: Sun, Sep 22, 2013 08:41 AM
 To: Jason Merrill <jason@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);
  }



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]