]> granicus.if.org Git - clang/commitdiff
clang-format: Fix enumerator case ranges.
authorDaniel Jasper <djasper@google.com>
Thu, 19 May 2016 06:19:17 +0000 (06:19 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 19 May 2016 06:19:17 +0000 (06:19 +0000)
Before:
  case a... b: break;

After:
  case a ... b: break;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270027 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index 2191864da26c6502da9d03efebb896defbe89f9f..bdf3dc3e57f612869c7631a4abe8cb5101c2366b 100644 (file)
@@ -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))
index 1b434eb8c94a2eb800f938d9fd9ddbc4fb898e8b..aec801ccc98936ead9a31d631feede6ce9bac37c 100644 (file)
@@ -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"
                "}");
 }