<div dir="ltr">On Wed, Sep 18, 2013 at 4:11 PM, Eli Friedman <span dir="ltr"><<a href="mailto:eli.friedman@gmail.com" target="_blank">eli.friedman@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im">On Wed, Sep 18, 2013 at 3:45 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>
</div><div class="gmail_extra"><div class="gmail_quote"><div class="im">

<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>On Wed, Sep 18, 2013 at 3:44 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>


</div><div class="gmail_extra"><div class="gmail_quote"><div>
<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>A modules-related change seems to have slipped into lib/Frontend/CompilerInstance.cpp<br>

</div></div>
</blockquote></div></div></div></div></blockquote><div><br></div></div><div>Ah, yes, thanks; fixed in my local copy.</div><div class="im"><div> </div><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"><div><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></div><div>
<br></div><div>The IsAtStartOfLine FIXME concerns me a little. Token.h says:</div><div><br></div><div>
<div>    StartOfLine   = 0x01,  // At start of line or only after whitespace.</div></div><div><br></div><div>... which implies to me that the intent was that it be false if there's a preceding EMPTY macro. I'm not sure if that's what the existing users of the macro want, though.</div>



</div></blockquote><div><br></div></div><div>Um, users of the flag.</div></div></div></div></blockquote><div><br></div></div><div>The current users of the flag expect the current behavior, which ignores empty macros.  The canonical example is PrintPreprocessedOutput, which uses it to indicate whether it needs to insert a newline between two tokens, the behavior being tested in test/Preprocessor/hash_line.c.  This patch doesn't change our behavior here outside of the IDENTITY() case.  I'll update the comment.</div>
<div class="im">

<div><br></div><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">

<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>What happens if the Lex call in isNextPPTokenLParen returns false?</div>
</div><div><div><div class="gmail_extra"></div></div></div></blockquote></div></div></div></blockquote></div></div><br></div><div class="gmail_extra">Lex never returns false if we're lexing in raw mode.  I'll add an assertion to that effect.</div>
</div></blockquote><div><br></div><div>Thanks, patch LGTM with above tweaks. =)</div></div></div></div>