diff options
author | Alexander Kornienko <alexfh@google.com> | 2012-12-10 16:34:48 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2012-12-10 16:34:48 +0000 |
commit | 2ca766f32a775dd2d20c88d338728bb847651bde (patch) | |
tree | 6f27885a00c188cd7782aadf4eb4c70d3f585632 /clang/lib/Format | |
parent | dd1ff5ece09e0c82d04e038596320b9aad09efd7 (diff) | |
download | bcm5719-llvm-2ca766f32a775dd2d20c88d338728bb847651bde.tar.gz bcm5719-llvm-2ca766f32a775dd2d20c88d338728bb847651bde.zip |
Clang-format: error recovery for access specifiers
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D198
llvm-svn: 169738
Diffstat (limited to 'clang/lib/Format')
-rw-r--r-- | clang/lib/Format/Format.cpp | 5 | ||||
-rw-r--r-- | clang/lib/Format/UnwrappedLineParser.cpp | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 3bedc6a4cd5..7f1131ca6f5 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -371,8 +371,9 @@ private: if (Newlines == 0 && Offset != 0) Newlines = 1; unsigned Indent = Line.Level * 2; - if (Token.Tok.is(tok::kw_public) || Token.Tok.is(tok::kw_protected) || - Token.Tok.is(tok::kw_private)) + if ((Token.Tok.is(tok::kw_public) || Token.Tok.is(tok::kw_protected) || + Token.Tok.is(tok::kw_private)) && + static_cast<int>(Indent) + Style.AccessModifierOffset >= 0) Indent += Style.AccessModifierOffset; replaceWhitespace(Token, Newlines, Indent); return Indent; diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index a225f3b3e78..8545f336b86 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -311,7 +311,9 @@ void UnwrappedLineParser::parseSwitch() { void UnwrappedLineParser::parseAccessSpecifier() { nextToken(); - nextToken(); + // Otherwise, we don't know what it is, and we'd better keep the next token. + if (FormatTok.Tok.is(tok::colon)) + nextToken(); addUnwrappedLine(); } |