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.


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]