r242650 - [modules] Don't save uninteresting identifiers, and don't consider identifiers

Richard Smith richard at metafoo.co.uk
Mon Jul 20 14:56:39 PDT 2015


On Mon, Jul 20, 2015 at 1:07 PM, Reid Kleckner <rnk at google.com> wrote:

> On Sun, Jul 19, 2015 at 2:41 PM, Richard Smith <richard-llvm at metafoo.co.uk
> > wrote:
>
>> @@ -794,8 +795,15 @@ IdentifierInfo *ASTIdentifierLookupTrait
>>    // Set or check the various bits in the IdentifierInfo structure.
>>    // Token IDs are read-only.
>>    if (HasRevertedTokenIDToIdentifier && II->getTokenID() !=
>> tok::identifier)
>> -    II->RevertTokenIDToIdentifier();
>> -  II->setObjCOrBuiltinID(ObjCOrBuiltinID);
>> +    II->revertTokenIDToIdentifier();
>> +  if (!F.isModule())
>> +    II->setObjCOrBuiltinID(ObjCOrBuiltinID);
>> +  else if (HasRevertedBuiltin && II->getBuiltinID()) {
>> +    II->revertBuiltin();
>> +    assert((II->hasRevertedBuiltin() ||
>> +            II->getObjCOrBuiltinID() == ObjCOrBuiltinID) &&
>> +           "Incorrect ObjC keyword or builtin ID");
>> +  }
>>    assert(II->isExtensionToken() == ExtensionToken &&
>>           "Incorrect extension token flag");
>>    (void)ExtensionToken;
>>
>
> This assert is tripping for me locally on Windows.
>

For posterity: this was caused by a stale modules cache, fixed in r242710.
(It looks like this was only passing elsewhere because it bumps the mtime
on various inputs to the module; that doesn't cause a module rebuild on
Windows.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150720/d87b3bac/attachment.html>


More information about the cfe-commits mailing list