<div dir="ltr">Thanks. Finally got around to fixing this in r223458.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 30, 2014 at 6:01 PM, Jordan Rose <span dir="ltr"><<a href="mailto:jordan_rose@apple.com" target="_blank">jordan_rose@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The other ones like this are NS_OPTIONS, CF_ENUM, and CF_OPTIONS.<br>
<div class="HOEnZb"><div class="h5"><br>
On Jan 30, 2014, at 6:38 , Daniel Jasper <<a href="mailto:djasper@google.com">djasper@google.com</a>> wrote:<br>
<br>
> Author: djasper<br>
> Date: Thu Jan 30 08:38:37 2014<br>
> New Revision: 200469<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=200469&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=200469&view=rev</a><br>
> Log:<br>
> clang-format: Support ObjC's NS_ENUMs.<br>
><br>
> Before:<br>
>  typedef NS_ENUM(NSInteger, MyType) {<br>
>      /// Information about someDecentlyLongValue.<br>
>      someDecentlyLongValue,<br>
>      /// Information about anotherDecentlyLongValue.<br>
>      anotherDecentlyLongValue,<br>
>      /// Information about aThirdDecentlyLongValue.<br>
>      aThirdDecentlyLongValue};<br>
><br>
> After:<br>
>  typedef NS_ENUM(NSInteger, MyType) {<br>
>    /// Information about someDecentlyLongValue.<br>
>    someDecentlyLongValue,<br>
>    /// Information about anotherDecentlyLongValue.<br>
>    anotherDecentlyLongValue,<br>
>    /// Information about aThirdDecentlyLongValue.<br>
>    aThirdDecentlyLongValue<br>
>  };<br>
><br>
> Modified:<br>
>    cfe/trunk/lib/Format/UnwrappedLineParser.cpp<br>
>    cfe/trunk/unittests/Format/FormatTest.cpp<br>
><br>
> Modified: cfe/trunk/lib/Format/UnwrappedLineParser.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/UnwrappedLineParser.cpp?rev=200469&r1=200468&r2=200469&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/UnwrappedLineParser.cpp?rev=200469&r1=200468&r2=200469&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Format/UnwrappedLineParser.cpp (original)<br>
> +++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp Thu Jan 30 08:38:37 2014<br>
> @@ -668,6 +668,12 @@ void UnwrappedLineParser::parseStructura<br>
>     case tok::kw_enum:<br>
>       parseEnum();<br>
>       break;<br>
> +    case tok::kw_typedef:<br>
> +      nextToken();<br>
> +      // FIXME: Use the IdentifierTable instead.<br>
> +      if (FormatTok->TokenText == "NS_ENUM")<br>
> +        parseEnum();<br>
> +      break;<br>
>     case tok::kw_struct:<br>
>     case tok::kw_union:<br>
>     case tok::kw_class:<br>
> @@ -1129,7 +1135,10 @@ void UnwrappedLineParser::parseAccessSpe<br>
> }<br>
><br>
> void UnwrappedLineParser::parseEnum() {<br>
> -  nextToken();<br>
> +  if (FormatTok->Tok.is(tok::kw_enum)) {<br>
> +    // Won't be 'enum' for NS_ENUMs.<br>
> +    nextToken();<br>
> +  }<br>
>   // Eat up enum class ...<br>
>   if (FormatTok->Tok.is(tok::kw_class) ||<br>
>       FormatTok->Tok.is(tok::kw_struct))<br>
><br>
> Modified: cfe/trunk/unittests/Format/FormatTest.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=200469&r1=200468&r2=200469&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=200469&r1=200468&r2=200469&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/unittests/Format/FormatTest.cpp (original)<br>
> +++ cfe/trunk/unittests/Format/FormatTest.cpp Thu Jan 30 08:38:37 2014<br>
> @@ -1713,6 +1713,18 @@ TEST_F(FormatTest, FormatsEnumTypes) {<br>
>   verifyFormat("enum X : std::uint32_t { A, B };");<br>
> }<br>
><br>
> +TEST_F(FormatTest, FormatsNSEnums) {<br>
> +  verifyGoogleFormat("typedef NS_ENUM(NSInteger, SomeName) { AAA, BBB }");<br>
> +  verifyGoogleFormat("typedef NS_ENUM(NSInteger, MyType) {\n"<br>
> +                     "  // Information about someDecentlyLongValue.\n"<br>
> +                     "  someDecentlyLongValue,\n"<br>
> +                     "  // Information about anotherDecentlyLongValue.\n"<br>
> +                     "  anotherDecentlyLongValue,\n"<br>
> +                     "  // Information about aThirdDecentlyLongValue.\n"<br>
> +                     "  aThirdDecentlyLongValue\n"<br>
> +                     "};");<br>
> +}<br>
> +<br>
> TEST_F(FormatTest, FormatsBitfields) {<br>
>   verifyFormat("struct Bitfields {\n"<br>
>                "  unsigned sClass : 8;\n"<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br>
</div></div></blockquote></div><br></div>