[cfe-commits] r172789 - in /cfe/trunk: lib/Format/Format.cpp lib/Format/UnwrappedLineParser.cpp unittests/Format/FormatTest.cpp
Douglas Gregor
dgregor at apple.com
Fri Jan 18 09:19:11 PST 2013
On Jan 17, 2013, at 9:50 PM, Nico Weber <nicolasweber at gmx.de> wrote:
> Author: nico
> Date: Thu Jan 17 23:50:57 2013
> New Revision: 172789
>
> URL: http://llvm.org/viewvc/llvm-project?rev=172789&view=rev
> Log:
> Formatter: After case blocks, "break" goes on the same line as the "}", PR14907.
>
> Before:
> switch (foo) {
> case a: {
> int a = g();
> h(a);
> }
> break;
> }
>
> Now:
> switch (foo) {
> case a: {
> int a = g();
> h(a);
> } break;
> }
Is this a Chromium thing? I've never seen it before.
- Doug
>
> Modified:
> cfe/trunk/lib/Format/Format.cpp
> cfe/trunk/lib/Format/UnwrappedLineParser.cpp
> cfe/trunk/unittests/Format/FormatTest.cpp
>
> Modified: cfe/trunk/lib/Format/Format.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=172789&r1=172788&r2=172789&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Format/Format.cpp (original)
> +++ cfe/trunk/lib/Format/Format.cpp Thu Jan 17 23:50:57 2013
> @@ -952,10 +952,10 @@
> return false;
> }
> break;
> - case tok::l_paren: {
> + case tok::l_paren:
> if (!parseParens())
> return false;
> - } break;
> + break;
> case tok::l_square:
> if (!parseSquare())
> return false;
>
> Modified: cfe/trunk/lib/Format/UnwrappedLineParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/UnwrappedLineParser.cpp?rev=172789&r1=172788&r2=172789&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Format/UnwrappedLineParser.cpp (original)
> +++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp Thu Jan 17 23:50:57 2013
> @@ -487,6 +487,8 @@
> --Line->Level;
> if (FormatTok.Tok.is(tok::l_brace)) {
> parseBlock();
> + if (FormatTok.Tok.is(tok::kw_break))
> + parseStructuralElement(); // "break;" after "}" goes on the same line.
> }
> addUnwrappedLine();
> Line->Level = OldLineLevel;
>
> Modified: cfe/trunk/unittests/Format/FormatTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=172789&r1=172788&r2=172789&view=diff
> ==============================================================================
> --- cfe/trunk/unittests/Format/FormatTest.cpp (original)
> +++ cfe/trunk/unittests/Format/FormatTest.cpp Thu Jan 17 23:50:57 2013
> @@ -274,6 +274,32 @@
> " break;\n"
> "}\n"
> "}");
> + verifyFormat("switch (x) {\n"
> + "case 1: {\n"
> + " f();\n"
> + " {\n"
> + " g();\n"
> + " h();\n"
> + " }\n"
> + " break;\n"
> + "}\n"
> + "}");
> + verifyFormat("switch (x) {\n"
> + "case 1: {\n"
> + " f();\n"
> + " if (foo) {\n"
> + " g();\n"
> + " h();\n"
> + " }\n"
> + " break;\n"
> + "}\n"
> + "}");
> + verifyFormat("switch (x) {\n"
> + "case 1: {\n"
> + " f();\n"
> + " g();\n"
> + "} break;\n"
> + "}");
> verifyFormat("switch (test)\n"
> " ;");
> verifyGoogleFormat("switch (x) {\n"
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list