On May 26, 2017, Richard Biener <richard.guent...@gmail.com> wrote: > On Mon, Jan 30, 2017 at 11:31 PM, Alexandre Oliva <aol...@redhat.com> wrote: > bool oracle_looked_up;
> that increased lang_identifier size by 8 bytes while there's "plenty" of free > bits in tree_base (bonus point if you can reap a lang_flag). Oh, no! I put it there temporarily, very early in the project, because I couldn't find a better place (I looked for available bits elsewhere, and I recall I couldn't find any); at the end we moved to a hash_set (see query_oracle below), that makes a lot more sense since the bit is only used when libcc1 is in use. But I accidentally left in place the data member I'd added before, completely unused :-( Ouch! >> +static inline void >> +query_oracle (tree name) >> +{ >> + if (!cp_binding_oracle) >> + return; >> + >> + /* LOOKED_UP holds the set of identifiers that we have already >> + looked up with the oracle. */ >> + static hash_set<tree> looked_up; >> + if (looked_up.add (name)) >> + return; >> + >> + cp_binding_oracle (CP_ORACLE_IDENTIFIER, name); >> +} I apologize for making G++ 7.1 plain waste memory on it. I'll test and install the obvious fix, trunk and branch, though I might be a bit slow in getting to it: Richard Stallman will be in town this week, at my place, and we have a busy schedule, so my computer time and attention will be severely limited. There's no rush AFAIK, and I'll get the fix in no later than next weekend, but of course I won't mind at all if someone else beats me to it. Thanks for catching this! -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer