From: Daniel Jasper Date: Mon, 1 Jul 2013 16:43:38 +0000 (+0000) Subject: Fix incorrect token counting introduced by r185319. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f50dbfae1c5801d72d57fe5af90ad58871cea321;p=clang Fix incorrect token counting introduced by r185319. This lead to weird formatting. Before: DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } }); After: DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } }); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185346 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index 170c892609..98a5a8ae07 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -257,8 +257,10 @@ void UnwrappedLineParser::calculateBraceTypes() { do { // Get next none-comment token. FormatToken *NextTok; + unsigned ReadTokens = 0; do { NextTok = Tokens->getNextToken(); + ++ReadTokens; } while (NextTok->is(tok::comment)); switch (Tok->Tok.getKind()) { @@ -298,7 +300,7 @@ void UnwrappedLineParser::calculateBraceTypes() { break; } Tok = NextTok; - ++Position; + Position += ReadTokens; } while (Tok->Tok.isNot(tok::eof)); // Assume other blocks for all unclosed opening braces. for (unsigned i = 0, e = LBraceStack.size(); i != e; ++i) { diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index affec47121..6df7e9b0e9 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -3683,6 +3683,7 @@ TEST_F(FormatTest, LayoutCxx11ConstructorBraceInitializers) { " : vector{ bbbbbbbbbbbbbbbbbbbbbbbbbbb,\n" " bbbbbbbbbbbbbbbbbbbb, bbbbb };"); verifyFormat("DoSomethingWithVector({} /* No data */);"); + verifyFormat("DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } });"); FormatStyle NoSpaces = getLLVMStyle(); NoSpaces.SpacesInBracedLists = false;