]> granicus.if.org Git - clang/commitdiff
clang-format: Prefer breaking after return type over template param
authorDaniel Jasper <djasper@google.com>
Fri, 15 Aug 2014 05:00:39 +0000 (05:00 +0000)
committerDaniel Jasper <djasper@google.com>
Fri, 15 Aug 2014 05:00:39 +0000 (05:00 +0000)
Before:
  typename aaaaaaaaaa<aaaaaa>::aaaaaaaaaaa aaaaaaaaaa<
      aaaaaa>::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(bool *aaaaaaaaaaaaaaaaaa,
                                                   bool *aa) {}

After:
  typename aaaaaaaaaa<aaaaaa>::aaaaaaaaaaa
  aaaaaaaaaa<aaaaaa>::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
      bool *aaaaaaaaaaaaaaaaaa, bool *aa) {}

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

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

index 0ac30a76ff473d61d28b74e595ddbd74e20abd8b..017a8404ba445af5d7c299179178ac9e96713670 100644 (file)
@@ -1441,6 +1441,8 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line,
     return 110;
   if (Right.is(tok::r_brace))
     return 1;
+  if (Left.Type == TT_TemplateOpener)
+    return 100;
   if (Left.opensScope())
     return Left.ParameterCount > 1 ? Style.PenaltyBreakBeforeFirstCallParameter
                                    : 19;
index d8e20e9c2a1e418d0eb9c133b69a7bbb15a1c4a3..73d17d39106bf3ac92ef8a542d648f63f9c610f7 100644 (file)
@@ -3428,6 +3428,10 @@ TEST_F(FormatTest, BreaksFunctionDeclarations) {
                "    int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = 1);");
   verifyFormat("aaaaaaaaaaaaaaaaaaaaaa\n"
                "aaaaaaaaaaaaaaaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaa = 1);");
+  verifyGoogleFormat(
+      "typename aaaaaaaaaa<aaaaaa>::aaaaaaaaaaa\n"
+      "aaaaaaaaaa<aaaaaa>::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
+      "    bool *aaaaaaaaaaaaaaaaaa, bool *aa) {}");
 }
 
 TEST_F(FormatTest, TrailingReturnType) {