summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/UnwrappedLineParser.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2013-08-28 07:50:37 +0000
committerDaniel Jasper <djasper@google.com>2013-08-28 07:50:37 +0000
commit65b79829c365042eac1d5ad4f7e2a17a152034b8 (patch)
tree0aafd72e252f429476dd2864985f64ef1f6ad933 /clang/lib/Format/UnwrappedLineParser.cpp
parentd215b8bde2137c4856c11cbe76864cddd63e5b3e (diff)
downloadbcm5719-llvm-65b79829c365042eac1d5ad4f7e2a17a152034b8.tar.gz
bcm5719-llvm-65b79829c365042eac1d5ad4f7e2a17a152034b8.zip
clang-format: Improve braced init list detection:
Before: std::this_thread::sleep_for(std::chrono::nanoseconds{ std::chrono::seconds { 1 } } / 5); After: std::this_thread::sleep_for( std::chrono::nanoseconds{ std::chrono::seconds{ 1 } } / 5); This fixes llvm.org/PR16554. llvm-svn: 189451
Diffstat (limited to 'clang/lib/Format/UnwrappedLineParser.cpp')
-rw-r--r--clang/lib/Format/UnwrappedLineParser.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp
index d77f931b718..168b59e8ee4 100644
--- a/clang/lib/Format/UnwrappedLineParser.cpp
+++ b/clang/lib/Format/UnwrappedLineParser.cpp
@@ -284,8 +284,12 @@ void UnwrappedLineParser::calculateBraceTypes() {
// Thus, if the parent is a braced init list, we consider all
// brace blocks inside it braced init list. That works good enough
// for now, but we will need to fix it to correctly handle lambdas.
+ //
+ // We exclude + and - as they can be ObjC visibility modifiers.
if (NextTok->isOneOf(tok::comma, tok::semi, tok::r_paren,
- tok::l_brace, tok::colon)) {
+ tok::l_brace, tok::colon) ||
+ (NextTok->isBinaryOperator() &&
+ !NextTok->isOneOf(tok::plus, tok::minus))) {
Tok->BlockKind = BK_BracedInit;
LBraceStack.back()->BlockKind = BK_BracedInit;
} else {
OpenPOWER on IntegriCloud