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: [libcc1] add support for C++


On May 26, 2017, Richard Biener <richard.guenther@gmail.com> wrote:

> On Mon, Jan 30, 2017 at 11:31 PM, Alexandre Oliva <aoliva@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


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