<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 21, 2013 at 6:18 PM, Daniel Jasper <span dir="ltr"><<a href="mailto:djasper@google.com" target="_blank">djasper@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: djasper<br>
Date: Mon Jan 21 08:18:28 2013<br>
New Revision: 173043<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=173043&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=173043&view=rev</a><br>
Log:<br>
Fix bug discovered by valgrind.<br></blockquote><div><br></div><div style>s/by valgrind/by MemorySanitizer/ </div><div style><br></div><div style>:) </div><div style><br></div><div style>--kcc </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
When trying to merge lines, we should not touch lines that are invalid,<br>
as we don't know how long they might be.<br>
<br>
Modified:<br>
    cfe/trunk/lib/Format/Format.cpp<br>
<br>
Modified: cfe/trunk/lib/Format/Format.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=173043&r1=173042&r2=173043&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=173043&r1=173042&r2=173043&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/Format/Format.cpp (original)<br>
+++ cfe/trunk/lib/Format/Format.cpp Mon Jan 21 08:18:28 2013<br>
@@ -1716,7 +1716,7 @@<br>
       return;<br>
     Limit -= I->Last->TotalLength + 1; // One space.<br>
<br>
-    if (I + 1 == E)<br>
+    if (I + 1 == E || (I + 1)->Type == LT_Invalid)<br>
       return;<br>
<br>
     if (I->Last->is(tok::l_brace)) {<br>
@@ -1770,7 +1770,8 @@<br>
                         std::vector<AnnotatedLine>::iterator E,<br>
                         unsigned Limit){<br>
     // Check that we still have three lines and they fit into the limit.<br>
-    if (I + 2 == E || !nextTwoLinesFitInto(I, Limit))<br>
+    if (I + 2 == E || (I + 2)->Type == LT_Invalid ||<br>
+        !nextTwoLinesFitInto(I, Limit))<br>
       return;<br>
<br>
     // First, check that the current line allows merging. This is the case if<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div></div>