]> granicus.if.org Git - clang/commitdiff
clang-format: Improve for-loop formatting.
authorDaniel Jasper <djasper@google.com>
Tue, 19 May 2015 11:51:39 +0000 (11:51 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 19 May 2015 11:51:39 +0000 (11:51 +0000)
Before:
  for (SmallVectorImpl<TemplateIdAnnotationn *>::iterator I =
           Container.begin(),
                                                          E = Container.end();
       I != E; ++I)

After:
  for (SmallVectorImpl<TemplateIdAnnotationn *>::iterator
           I = Container.begin(),
           E = Container.end();
       I != E; ++I)

This fixes llvm.org/PR23544.

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

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

index 8088ff667e1fdde216763587d2ec12e71f07eb94..a20790e8944fdac10746541c888a6d13d86fb6dc 100644 (file)
@@ -568,7 +568,8 @@ private:
     case tok::comma:
       if (Contexts.back().InCtorInitializer)
         Tok->Type = TT_CtorInitializerComma;
-      else if (Contexts.back().FirstStartOfName && Contexts.size() == 1) {
+      else if (Contexts.back().FirstStartOfName &&
+               (Contexts.size() == 1 || Line.First->is(tok::kw_for))) {
         Contexts.back().FirstStartOfName->PartOfMultiVariableDeclStmt = true;
         Line.IsMultiVariableDeclStmt = true;
       }
index d035043b0fe1a0e1472b465ccdff26dbc3c07ffa..5a568f4c0babf6ac5bd3ccc6dd045e678d0c9ab5 100644 (file)
@@ -557,6 +557,11 @@ TEST_F(FormatTest, FormatsForLoop) {
                "         I = FD->getDeclsInPrototypeScope().begin(),\n"
                "         E = FD->getDeclsInPrototypeScope().end();\n"
                "     I != E; ++I) {\n}");
+  verifyFormat("for (SmallVectorImpl<TemplateIdAnnotationn *>::iterator\n"
+               "         I = Container.begin(),\n"
+               "         E = Container.end();\n"
+               "     I != E; ++I) {\n}",
+               getLLVMStyleWithColumns(76));
 
   verifyFormat(
       "for (aaaaaaaaaaaaaaaaa aaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;\n"