]> granicus.if.org Git - clang/commitdiff
Comments should not prevent single-line functions.
authorDaniel Jasper <djasper@google.com>
Thu, 16 May 2013 10:17:39 +0000 (10:17 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 16 May 2013 10:17:39 +0000 (10:17 +0000)
Before:
void f() {}
void g() {
} // comment

After:
void f() {}
void g() {} // comment

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

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

index 7db75b715b8a80825f052551bac215c493af150a..93d2a93be97f6118e458f35b74c506431531122d 100644 (file)
@@ -1418,7 +1418,7 @@ private:
       return;
 
     AnnotatedToken *Tok = &(I + 1)->First;
-    if (Tok->Children.empty() && Tok->is(tok::r_brace) &&
+    if (Tok->getNextNoneComment() == NULL && Tok->is(tok::r_brace) &&
         !Tok->MustBreakBefore) {
       // We merge empty blocks even if the line exceeds the column limit.
       Tok->SpacesRequiredBefore = 0;
@@ -1443,7 +1443,7 @@ private:
 
       // Last, check that the third line contains a single closing brace.
       Tok = &(I + 2)->First;
-      if (!Tok->Children.empty() || Tok->isNot(tok::r_brace) ||
+      if (Tok->getNextNoneComment() != NULL || Tok->isNot(tok::r_brace) ||
           Tok->MustBreakBefore)
         return;
 
index b39280edd810ea6ea93ad59c939962aecfe9703d..8ee0245d1dbb7e0af70542e8ec93e574ea0759d4 100644 (file)
@@ -3043,6 +3043,8 @@ TEST_F(FormatTest, PullTrivialFunctionDefinitionsIntoSingleLine) {
                "  int a;\n"
                "#error {\n"
                "}");
+  verifyFormat("void f() {} // comment");
+  verifyFormat("void f() { int a; } // comment");
 
   verifyFormat("void f() { return 42; }", getLLVMStyleWithColumns(23));
   verifyFormat("void f() {\n  return 42;\n}", getLLVMStyleWithColumns(22));