[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">&lt;<a href="mailto:rnk@google.com" \
target="_blank">rnk@google.com</a>&gt;</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">&lt;<a \
href="mailto:richard-llvm@metafoo.co.uk" \
target="_blank">richard-llvm@metafoo.co.uk</a>&gt;</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 &amp;&amp; II-&gt;getTokenID() != \
                tok::identifier)<br>
-      II-&gt;RevertTokenIDToIdentifier();<br>
-   II-&gt;setObjCOrBuiltinID(ObjCOrBuiltinID);<br>
+      II-&gt;revertTokenIDToIdentifier();<br>
+   if (!F.isModule())<br>
+      II-&gt;setObjCOrBuiltinID(ObjCOrBuiltinID);<br>
+   else if (HasRevertedBuiltin &amp;&amp; II-&gt;getBuiltinID()) {<br>
+      II-&gt;revertBuiltin();<br>
+      assert((II-&gt;hasRevertedBuiltin() ||<br>
+                  II-&gt;getObjCOrBuiltinID() == ObjCOrBuiltinID) &amp;&amp;<br>
+                 &quot;Incorrect ObjC keyword or builtin ID&quot;);<br>
+   }<br>
     assert(II-&gt;isExtensionToken() == ExtensionToken &amp;&amp;<br>
               &quot;Incorrect extension token flag&quot;);<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&#39;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