diff options
author | Daniel Jasper <djasper@google.com> | 2016-01-04 07:29:40 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2016-01-04 07:29:40 +0000 |
commit | 9c8a774c4804e3379e76f6846e3aa0fa912d96a9 (patch) | |
tree | 85eca528a0072daad56b187848e9286c71861929 | |
parent | 06a269574c35f4d36236893e5cb00e466ed738c5 (diff) | |
download | bcm5719-llvm-9c8a774c4804e3379e76f6846e3aa0fa912d96a9.tar.gz bcm5719-llvm-9c8a774c4804e3379e76f6846e3aa0fa912d96a9.zip |
clang-format: Fix corner case for lambda assignments.
Before:
std::function<std::string(const std::string &)> my_lambda = [](
const string &s) { return s; };
After:
std::function<std::string(const std::string &)> my_lambda =
[](const string &s) { return s; };
llvm-svn: 256739
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 2 | ||||
-rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index a3a363107be..a9b7656889a 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1722,7 +1722,7 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, return 25; // Slightly prefer formatting local lambda definitions like functions. if (Right.is(TT_LambdaLSquare) && Left.is(tok::equal)) - return 50; + return 35; if (!Right.isOneOf(TT_ObjCMethodExpr, TT_LambdaLSquare, TT_ArrayInitializerLSquare)) return 500; diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 22c469815b1..5c5c986a2cc 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -10512,6 +10512,8 @@ TEST_F(FormatTest, FormatsLambdas) { verifyFormat("auto my_lambda = [](const string &some_parameter) {\n" " return some_parameter.size();\n" "};"); + verifyFormat("std::function<std::string(const std::string &)> my_lambda =\n" + " [](const string &s) { return s; };"); verifyFormat("int i = aaaaaa ? 1 //\n" " : [] {\n" " return 2; //\n" |