clang-format: Detect braced lists in subscript expressions.
Before (even with Style.Cpp11BracedListStyle):
f(MyMap[{ composite, key }]);
After:
f(MyMap[{composite, key}]);
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190678 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp
index 3fb46f2..605aeba 100644
--- a/lib/Format/UnwrappedLineParser.cpp
+++ b/lib/Format/UnwrappedLineParser.cpp
@@ -290,7 +290,7 @@
//
// 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::r_square, tok::l_brace, tok::colon) ||
(NextTok->isBinaryOperator() &&
!NextTok->isOneOf(tok::plus, tok::minus))) {
Tok->BlockKind = BK_BracedInit;
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 5202073..6d504c0 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -4271,6 +4271,7 @@
verifyFormat("return { arg1, arg2 };");
verifyFormat("return { arg1, SomeType{ parameter } };");
verifyFormat("new T{ arg1, arg2 };");
+ verifyFormat("f(MyMap[{ composite, key }]);");
verifyFormat("class Class {\n"
" T member = { arg1, arg2 };\n"
"};");
@@ -4305,6 +4306,7 @@
verifyFormat("return {arg1, arg2};", NoSpaces);
verifyFormat("return {arg1, SomeType{parameter}};", NoSpaces);
verifyFormat("new T{arg1, arg2};", NoSpaces);
+ verifyFormat("f(MyMap[{composite, key}]);", NoSpaces);
verifyFormat("class Class {\n"
" T member = {arg1, arg2};\n"
"};",