On May 26, 2017, Richard Biener <[email protected]> wrote:
> On Mon, Jan 30, 2017 at 11:31 PM, Alexandre Oliva <[email protected]> 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