]> granicus.if.org Git - clang/commitdiff
clang-format: Fix formatting of lock annotations in lambda definitions.
authorDaniel Jasper <djasper@google.com>
Mon, 28 Jul 2014 12:08:06 +0000 (12:08 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 28 Jul 2014 12:08:06 +0000 (12:08 +0000)
Before:
  SomeFunction([](int i)LOCKS_EXCLUDED(a) {});

After:
  SomeFunction([](int i) LOCKS_EXCLUDED(a) {});

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214069 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index 017afe1a370b9ff1e68bee3a498004bd5c712d24..5f8ce797469fce83684d31b2d0d95c150742dc49 100644 (file)
@@ -842,6 +842,10 @@ private:
       LeftOfParens = Tok.MatchingParen->getPreviousNonComment();
     if (LeftOfParens && LeftOfParens->is(tok::r_paren))
       return false;
+    if (LeftOfParens && LeftOfParens->is(tok::r_square) &&
+        LeftOfParens->MatchingParen &&
+        LeftOfParens->MatchingParen->Type == TT_LambdaLSquare)
+      return false;
     bool IsCast = false;
     bool ParensAreEmpty = Tok.Previous == Tok.MatchingParen;
     bool ParensAreType = !Tok.Previous ||
index 21bc86275461d970945dc4f79a8bca6b88289471..1fdbe4d092240262bf4f804f2c55ed1a4313baa1 100644 (file)
@@ -3513,6 +3513,7 @@ TEST_F(FormatTest, BreaksFunctionDeclarationsWithTrailingTokens) {
                "    LOCKS_EXCLUDED(aaaaaaaaaaaaa) {}");
   verifyGoogleFormat("void aaaaaaaaaaaaaa(aaaaaaaa aaa) override\n"
                      "    AAAAAAAAAAAAAAAAAAAAAAAA(aaaaaaaaaaaaaaa);");
+  verifyFormat("SomeFunction([](int i) LOCKS_EXCLUDED(a) {});");
 
   verifyFormat(
       "void aaaaaaaaaaaaaaaaaa()\n"