From f022018698ced7e538b338d4f7befef9f81051ea Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Mon, 6 May 2013 06:35:44 +0000 Subject: [PATCH] Don't put a space before ellipsis. Before: template void Foo(Ts ... ts) { Foo(ts ...); } After: template void Foo(Ts... ts) { Foo(ts...); } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181182 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 2 ++ unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 185a45d43d..10ced9a7ee 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1055,6 +1055,8 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line, return false; if (Left.is(tok::l_brace) && Right.is(tok::r_brace)) return false; + if (Right.is(tok::ellipsis)) + return false; return true; } diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 45c8e81dc7..ed1e6ed623 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -2602,6 +2602,11 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) { verifyGoogleFormat("A = new SomeType* [Length];"); } +TEST_F(FormatTest, UnderstandsEllipsis) { + verifyFormat("int printf(const char *fmt, ...);"); + verifyFormat("template void Foo(Ts... ts) { Foo(ts...); }"); +} + TEST_F(FormatTest, AdaptivelyFormatsPointersAndReferences) { EXPECT_EQ("int *a;\n" "int *a;\n" -- 2.40.0