[prev in list] [next in list] [prev in thread] [next in thread]
List: cfe-commits
Subject: Re: r242650 - [modules] Don't save uninteresting identifiers, and don't consider identifiers
From: Richard Smith <richard () metafoo ! co ! uk>
Date: 2015-07-20 21:56:39
Message-ID: CAOfiQqnEypTNwAtb7T_mPXHTF8KEm=qi1ASSsNvxsu1bHNSV6g () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
On Mon, Jul 20, 2015 at 1:07 PM, Reid Kleckner <rnk@google.com> wrote:
> On Sun, Jul 19, 2015 at 2:41 PM, Richard Smith <richard-llvm@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.)
[Attachment #5 (text/html)]
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jul 20, 2015 \
at 1:07 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" \
target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div \
dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Sun, \
Jul 19, 2015 at 2:41 PM, Richard Smith <span dir="ltr"><<a \
href="mailto:richard-llvm@metafoo.co.uk" \
target="_blank">richard-llvm@metafoo.co.uk</a>></span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">@@ \
-794,8 +795,15 @@ IdentifierInfo *ASTIdentifierLookupTrait<br> // Set or check the \
various bits in the IdentifierInfo structure.<br> // Token IDs are read-only.<br>
if (HasRevertedTokenIDToIdentifier && II->getTokenID() != \
tok::identifier)<br>
- II->RevertTokenIDToIdentifier();<br>
- II->setObjCOrBuiltinID(ObjCOrBuiltinID);<br>
+ II->revertTokenIDToIdentifier();<br>
+ if (!F.isModule())<br>
+ II->setObjCOrBuiltinID(ObjCOrBuiltinID);<br>
+ else if (HasRevertedBuiltin && II->getBuiltinID()) {<br>
+ II->revertBuiltin();<br>
+ assert((II->hasRevertedBuiltin() ||<br>
+ II->getObjCOrBuiltinID() == ObjCOrBuiltinID) &&<br>
+ "Incorrect ObjC keyword or builtin ID");<br>
+ }<br>
assert(II->isExtensionToken() == ExtensionToken &&<br>
"Incorrect extension token flag");<br>
(void)ExtensionToken;<br></blockquote><div><br></div></span><div>This assert is \
tripping for me locally on Windows. </div></div></div></div> \
</blockquote></div><br></div><div class="gmail_extra">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.)</div></div>
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic