diff options
author | Daniel Jasper <djasper@google.com> | 2013-07-01 16:43:38 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-07-01 16:43:38 +0000 |
commit | ca7bd720eb64b80bbe07322be94a327a2823dd9f (patch) | |
tree | 969e321c3f53dc221782e85a3c7d0ce9ec28f158 | |
parent | 4798a08df8c85aa3637bbb9662c895581a336711 (diff) | |
download | bcm5719-llvm-ca7bd720eb64b80bbe07322be94a327a2823dd9f.tar.gz bcm5719-llvm-ca7bd720eb64b80bbe07322be94a327a2823dd9f.zip |
Fix incorrect token counting introduced by r185319.
This lead to weird formatting.
Before:
DoSomethingWithVector({ {} /* No data */ }, {
{ 1, 2 }
});
After:
DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } });
llvm-svn: 185346
-rw-r--r-- | clang/lib/Format/UnwrappedLineParser.cpp | 4 | ||||
-rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index 170c8926091..98a5a8ae075 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/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/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index affec471214..6df7e9b0e93 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -3683,6 +3683,7 @@ TEST_F(FormatTest, LayoutCxx11ConstructorBraceInitializers) { " : vector<int>{ bbbbbbbbbbbbbbbbbbbbbbbbbbb,\n" " bbbbbbbbbbbbbbbbbbbb, bbbbb };"); verifyFormat("DoSomethingWithVector({} /* No data */);"); + verifyFormat("DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } });"); FormatStyle NoSpaces = getLLVMStyle(); NoSpaces.SpacesInBracedLists = false; |