Patch at revision 134258.<br><br><div class="gmail_quote">On Fri, Jul 1, 2011 at 11:20 AM, Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com">dgregor@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word"><div class="im"><br><div><div>On Jun 30, 2011, at 12:46 AM, Chandler Carruth wrote:</div><br><blockquote type="cite"><div class="gmail_quote">On Wed, Jun 29, 2011 at 8:19 PM, Richard Trieu <span dir="ltr"><<a href="mailto:rtrieu@google.com" target="_blank">rtrieu@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The recovery consumes the right parenthesis too early leading to Clang thinking there is a parenthesis imbalance when there isn't one. This patch should fix this issue.</blockquote></div><br><div style="zoom:100%">
</div><div>I'm not sure this is the correct fix.</div><div><br></div><div>Above you change, when ParseExpressionList fails, we 'SkipUntil(tok::r_paren)', and then mark LHS as an error. Then fall through, and because LHS is now invalid, we 'SkipUntil(tok::r_paren)' a second time. I think the repeated calls are the problem here.</div>
<div><br></div><div>Because we skip to the r_paren on an invalid LHS, I think we can change the code to not skip any tokens when ParseExpressionList fails, and just mark LHS as an error. Falling through, we'll skip to r_paren in the common location.</div>
</blockquote><br></div></div>This seems reasonable.<div><br></div><div><span style="white-space:pre-wrap"> </span>- Doug</div></div>
</blockquote></div><br>