<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>at work we have a project with a different style where the * or & is placed between the type and the variable. An example is: "const std::string & str". To make clang-format to recognize that kind of formatting I created a small patch, see below.</div><div><br></div><div>I removed the old boolean setting "PointerBindsToType" and replaced it with a "PointerBinding" option with the three settings: Left, Middle and Right.</div><div><br></div><div>Modified:</div><div>    <span style="color: rgb(255, 0, 0); ">include/clang/Format/Format.h</span></div><div><span style="color: rgb(255, 0, 0); ">    lib/Format/Format.cpp</span></div><div><font color="#ff0000">    </font><span style="color: rgb(0, 170, 0); ">unittests/Format/FormatTest.cpp</span></div><div><span style="color: rgb(0, 170, 0); ">    lib/Format/TokenAnnotator.cpp</span></div><div><div><br></div></div><div>What do you think of this patch?</div><div><br></div><div><br></div><div><br></div><div><br></div><div>
<pre style="margin-top: 0px; margin-bottom: 0px; "><!--StartFragment-->Index: include/clang/Format/Format.h</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">===================================================================</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">--- include/clang/Format/Format.h      (revision 191970)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+++ include/clang/Format/Format.h      (working copy)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -52,8 +52,18 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   /// \brief The penalty for breaking before the first \c <<.</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   unsigned PenaltyBreakFirstLessLess;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  /// \brief Different ways of placing pointer between type and variable</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  enum PointerBindingKind {</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    /// Put pointer or refernce at the type. Same as former setting 'PointerBindsToType: True'</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    PB_Left,</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    /// Put pointer or reference in the middle of type and variable name like: const std::string & str</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    PB_Middle,</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    /// Put pointer or reference at the variable. Same as former setting 'PointerBindsToType: false'</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    PB_Right</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  };</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   /// \brief Set whether & and * bind to the type as opposed to the variable.</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  bool PointerBindsToType;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  PointerBindingKind PointerBinding;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   /// \brief If \c true, analyze the formatted file for the most common binding.</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   bool DerivePointerBinding;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -273,7 +283,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            PenaltyBreakString == R.PenaltyBreakString &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            PenaltyExcessCharacter == R.PenaltyExcessCharacter &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            PenaltyReturnTypeOnItsOwnLine == R.PenaltyReturnTypeOnItsOwnLine &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-           PointerBindsToType == R.PointerBindsToType &&</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+           PointerBinding == R.PointerBinding &&</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            SpacesBeforeTrailingComments == R.SpacesBeforeTrailingComments &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            Cpp11BracedListStyle == R.Cpp11BracedListStyle &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            Standard == R.Standard && TabWidth == R.TabWidth &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">Index: lib/Format/Format.cpp</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">===================================================================</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">--- lib/Format/Format.cpp      (revision 191970)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+++ lib/Format/Format.cpp      (working copy)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -34,6 +34,16 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> namespace llvm {</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> namespace yaml {</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> template <></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+struct ScalarEnumerationTraits<clang::format::FormatStyle::PointerBindingKind> {</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  static void enumeration(IO &IO,</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+                          clang::format::FormatStyle::PointerBindingKind &Value) {</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    IO.enumCase(Value, "Left",   clang::format::FormatStyle::PB_Left);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    IO.enumCase(Value, "Middle", clang::format::FormatStyle::PB_Middle);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    IO.enumCase(Value, "Right",  clang::format::FormatStyle::PB_Right);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  }</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+};</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+template <></span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> struct ScalarEnumerationTraits<clang::format::FormatStyle::LanguageStandard> {</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   static void enumeration(IO &IO,</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">                           clang::format::FormatStyle::LanguageStandard &Value) {</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -144,7 +154,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     IO.mapOptional("PenaltyExcessCharacter", Style.PenaltyExcessCharacter);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     IO.mapOptional("PenaltyReturnTypeOnItsOwnLine",</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">                    Style.PenaltyReturnTypeOnItsOwnLine);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-    IO.mapOptional("PointerBindsToType", Style.PointerBindsToType);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+    IO.mapOptional("PointerBinding", Style.PointerBinding);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     IO.mapOptional("SpacesBeforeTrailingComments",</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">                    Style.SpacesBeforeTrailingComments);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     IO.mapOptional("Cpp11BracedListStyle", Style.Cpp11BracedListStyle);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -205,7 +215,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   LLVMStyle.MaxEmptyLinesToKeep = 1;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   LLVMStyle.NamespaceIndentation = FormatStyle::NI_None;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   LLVMStyle.ObjCSpaceBeforeProtocolList = true;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  LLVMStyle.PointerBindsToType = false;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  LLVMStyle.PointerBinding = FormatStyle::PB_Right;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   LLVMStyle.SpacesBeforeTrailingComments = 1;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   LLVMStyle.Standard = FormatStyle::LS_Cpp03;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   LLVMStyle.UseTab = FormatStyle::UT_Never;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -248,7 +258,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   GoogleStyle.MaxEmptyLinesToKeep = 1;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   GoogleStyle.NamespaceIndentation = FormatStyle::NI_None;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   GoogleStyle.ObjCSpaceBeforeProtocolList = false;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  GoogleStyle.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  GoogleStyle.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   GoogleStyle.SpacesBeforeTrailingComments = 2;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   GoogleStyle.Standard = FormatStyle::LS_Auto;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   GoogleStyle.UseTab = FormatStyle::UT_Never;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -283,7 +293,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   MozillaStyle.IndentCaseLabels = true;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   MozillaStyle.ObjCSpaceBeforeProtocolList = false;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   MozillaStyle.PenaltyReturnTypeOnItsOwnLine = 200;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  MozillaStyle.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  MozillaStyle.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   return MozillaStyle;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -297,7 +307,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   Style.ColumnLimit = 0;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   Style.IndentWidth = 4;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   Style.NamespaceIndentation = FormatStyle::NI_Inner;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  Style.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  Style.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   return Style;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -980,9 +990,9 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     if (Style.DerivePointerBinding) {</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">       if (CountBoundToType > CountBoundToVariable)</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-        Style.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+        Style.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">       else if (CountBoundToType < CountBoundToVariable)</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-        Style.PointerBindsToType = false;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+        Style.PointerBinding = FormatStyle::PB_Right;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     if (Style.Standard == FormatStyle::LS_Auto) {</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">       Style.Standard = HasCpp03IncompatibleFormat ? FormatStyle::LS_Cpp11</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">Index: lib/Format/TokenAnnotator.cpp</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">===================================================================</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">--- lib/Format/TokenAnnotator.cpp      (revision 191970)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+++ lib/Format/TokenAnnotator.cpp      (working copy)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -1229,14 +1229,14 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   if (Right.Type == TT_PointerOrReference)</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     return Left.Tok.isLiteral() ||</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            ((Left.Type != TT_PointerOrReference) && Left.isNot(tok::l_paren) &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-            !Style.PointerBindsToType);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+            Style.PointerBinding != FormatStyle::PB_Left);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   if (Right.Type == TT_FunctionTypeLParen && Left.isNot(tok::l_paren) &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-      (Left.Type != TT_PointerOrReference || Style.PointerBindsToType))</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+      (Left.Type != TT_PointerOrReference || Style.PointerBinding != FormatStyle::PB_Right))</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     return true;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   if (Left.Type == TT_PointerOrReference)</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">     return Right.Tok.isLiteral() || Right.Type == TT_BlockComment ||</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">            ((Right.Type != TT_PointerOrReference) &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-            Right.isNot(tok::l_paren) && Style.PointerBindsToType &&</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+            Right.isNot(tok::l_paren) && Style.PointerBinding != FormatStyle::PB_Right &&</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">             Left.Previous &&</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">             !Left.Previous->isOneOf(tok::l_paren, tok::coloncolon));</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   if (<a href="http://Right.is">Right.is</a>(tok::star) && <a href="http://Left.is">Left.is</a>(tok::l_paren))</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">Index: unittests/Format/FormatTest.cpp</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">===================================================================</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">--- unittests/Format/FormatTest.cpp    (revision 191970)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+++ unittests/Format/FormatTest.cpp    (working copy)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -3667,7 +3667,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">                "      aaaa, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);\n"</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">                "}");</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   FormatStyle Style = getLLVMStyle();</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  Style.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  Style.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   verifyFormat("typedef bool* (Class::*Member)() const;", Style);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -3890,7 +3890,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   verifyGoogleFormat("T** t = new T*();");</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   FormatStyle PointerLeft = getLLVMStyle();</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  PointerLeft.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  PointerLeft.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   verifyFormat("delete *x;", PointerLeft);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -3904,7 +3904,7 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   verifyFormat("template <class... Ts> void Foo(Ts *... ts) {}");</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   FormatStyle PointersLeft = getLLVMStyle();</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  PointersLeft.PointerBindsToType = true;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  PointersLeft.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   verifyFormat("template <class... Ts> void Foo(Ts*... ts) {}", PointersLeft);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> }</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -6359,7 +6359,6 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE_BOOL(DerivePointerBinding);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE_BOOL(IndentCaseLabels);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE_BOOL(ObjCSpaceBeforeProtocolList);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#ff0000;">-  CHECK_PARSE_BOOL(PointerBindsToType);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE_BOOL(Cpp11BracedListStyle);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE_BOOL(IndentFunctionDeclarationAfterType);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE_BOOL(SpacesInParentheses);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#0000ff;">@@ -6380,6 +6379,12 @@</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">               SpacesBeforeTrailingComments, 1234u);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE("IndentWidth: 32", IndentWidth, 32u);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "> </pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  Style.PointerBinding = FormatStyle::PB_Left;</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  CHECK_PARSE("PointerBinding: Left",   PointerBinding, FormatStyle::PB_Left);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  CHECK_PARSE("PointerBinding: Middle", PointerBinding, FormatStyle::PB_Middle);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+  CHECK_PARSE("PointerBinding: Right",  PointerBinding, FormatStyle::PB_Right);</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><span style=" color:#00aa00;">+</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   Style.Standard = FormatStyle::LS_Auto;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE("Standard: Cpp03", Standard, FormatStyle::LS_Cpp03);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; ">   CHECK_PARSE("Standard: Cpp11", Standard, FormatStyle::LS_Cpp11);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px; "><br><!--EndFragment--></pre><div><br></div></div></body></html>