diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Format/UnwrappedLineParser.cpp | 2 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 9 | 
2 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index cdd77759fd2..a438a53c370 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -576,7 +576,7 @@ void UnwrappedLineParser::parseLabel() {    unsigned OldLineLevel = Line->Level;    if (Line->Level > 0)      --Line->Level; -  if (FormatTok.Tok.is(tok::l_brace)) { +  if (CommentsBeforeNextToken.empty() && FormatTok.Tok.is(tok::l_brace)) {      parseBlock(/*MustBeDeclaration=*/ false);      if (FormatTok.Tok.is(tok::kw_break))        parseStructuralElement(); // "break;" after "}" goes on the same line. diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index a3afbee916e..a940f7092fc 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -432,6 +432,15 @@ TEST_F(FormatTest, FormatsSwitchStatement) {                 "case 1:\n"                 "  f();\n"                 "}"); +  verifyFormat("switch (x) {\n" +               "case 1:\n" +               "  // Do amazing stuff\n" +               "  {\n" +               "    f();\n" +               "    g();\n" +               "  }\n" +               "  break;\n" +               "}");    verifyGoogleFormat("switch (x) {\n"                       "  case 1:\n"  | 

