From: Daniel Jasper Date: Fri, 13 Sep 2013 10:55:31 +0000 (+0000) Subject: clang-format: Detect braced lists in subscript expressions. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac885cd60267afbe67c9ed61515be3816032bba2;p=clang 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 3fb46f2f56..605aebad02 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -290,7 +290,7 @@ void UnwrappedLineParser::calculateBraceTypes() { // // 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 5202073e16..6d504c0c78 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -4271,6 +4271,7 @@ TEST_F(FormatTest, LayoutCxx11ConstructorBraceInitializers) { 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 @@ TEST_F(FormatTest, LayoutCxx11ConstructorBraceInitializers) { 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" "};",