ref: e0eed9f03d22464740c57d5baea245791ef84f23
parent: b6847c53e54893f2f3808ff0582cb675c0497528
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Tue May 26 05:36:06 EDT 2015
Do not reserve identifiers for cpp symbols Preprocessor symbols are not going to be emited ever, so it is not a good idea to reserve identifiers that only are going to generate holes in the symbol table of the backend.
--- a/cc1/symbol.c
+++ b/cc1/symbol.c
@@ -88,8 +88,8 @@
Symbol *sym;
sym = malloc(sizeof(*sym));
- sym->ns = ns;
- sym->id = (curctx) ? ++localcnt : ++globalcnt;
+ if ((sym->ns = ns) != NS_CPP)
+ sym->id = (curctx) ? ++localcnt : ++globalcnt;
sym->ctx = curctx;
sym->token = IDEN;
sym->flags = ISDEFINED;