summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2016-05-19 06:19:17 +0000
committerDaniel Jasper <djasper@google.com>2016-05-19 06:19:17 +0000
commite2fab133133c4c652ca27b791805b158b9d0a20a (patch)
tree3ce5c99b9ee07f6a994e43322135f2b9ddbb9fb1
parent19e04b643065ae6c68547a2114c9bf5151a10b14 (diff)
downloadbcm5719-llvm-e2fab133133c4c652ca27b791805b158b9d0a20a.tar.gz
bcm5719-llvm-e2fab133133c4c652ca27b791805b158b9d0a20a.zip
clang-format: Fix enumerator case ranges.
Before: case a... b: break; After: case a ... b: break; llvm-svn: 270027
-rw-r--r--clang/lib/Format/TokenAnnotator.cpp3
-rw-r--r--clang/unittests/Format/FormatTest.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index 2191864da26..bdf3dc3e57f 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -1965,7 +1965,8 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line,
if (Left.is(tok::less) || Right.isOneOf(tok::greater, tok::less))
return false;
if (Right.is(tok::ellipsis))
- return Left.Tok.isLiteral();
+ return Left.Tok.isLiteral() || (Left.is(tok::identifier) && Left.Previous &&
+ Left.Previous->is(tok::kw_case));
if (Left.is(tok::l_square) && Right.is(tok::amp))
return false;
if (Right.is(TT_PointerOrReference))
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 1b434eb8c94..aec801ccc98 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -755,6 +755,7 @@ TEST_F(FormatTest, CaseRanges) {
verifyFormat("switch (x) {\n"
"case 'A' ... 'Z':\n"
"case 1 ... 5:\n"
+ "case a ... b:\n"
" break;\n"
"}");
}
OpenPOWER on IntegriCloud