From d081e88e79430c6aa716942beb800a804cd52546 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Fri, 21 Nov 2014 12:36:25 +0000 Subject: [PATCH] clang-format: Handle comments in short case labels. With AllowShortCaseLabelsOnASingleLine set to true: This gets now left unchanged: case 1: // comment return; Whereas before it was changed into: case 1: // comment return; This fixes llvm.org/PR21630. llvm-svn: 222529 --- clang/lib/Format/Format.cpp | 2 +- clang/unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 729ca97..b96c17a 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -750,7 +750,7 @@ private: if (Line->First->isOneOf(tok::kw_case, tok::kw_default, tok::r_brace)) break; if (Line->First->isOneOf(tok::kw_if, tok::kw_for, tok::kw_switch, - tok::kw_while)) + tok::kw_while, tok::comment)) return 0; Length += I[1 + NumStmts]->Last->TotalLength + 1; // 1 for the space. } diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index a6bbe16..c58ac0a 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -745,6 +745,11 @@ TEST_F(FormatTest, ShortCaseLabels) { "case 3:\n" "case 4:\n" "case 5: return;\n" + "case 6: // comment\n" + " return;\n" + "case 7:\n" + " // comment\n" + " return;\n" "default: y = 1; break;\n" "}", Style); -- 2.7.4