From: Daniel Jasper Date: Mon, 10 Dec 2012 18:59:13 +0000 (+0000) Subject: Addi formatting tests for pointer template parameters. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b39c6693aadd30f77ac039de69130c22e066994;p=clang Addi formatting tests for pointer template parameters. Fix spacing before ",". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169746 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 7f1131ca6f..e8faa12a26 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -689,6 +689,8 @@ private: } bool spaceRequiredBetween(Token Left, Token Right) { + if (Right.is(tok::r_paren) || Right.is(tok::semi) || Right.is(tok::comma)) + return false; if (Left.is(tok::kw_template) && Right.is(tok::less)) return true; if (Left.is(tok::arrow) || Right.is(tok::arrow)) @@ -725,8 +727,6 @@ private: return false; if (Left.is(tok::hash)) return false; - if (Right.is(tok::r_paren) || Right.is(tok::semi) || Right.is(tok::comma)) - return false; if (Right.is(tok::l_paren)) { return !Left.isAnyIdentifier() || isIfForOrWhile(Left); } diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 79cefc4663..d70442cebf 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -478,7 +478,17 @@ TEST_F(FormatTest, UnderstandsUsesOfStar) { verifyFormat("int a = b * *c;"); verifyFormat("int main(int argc, char **argv) {\n}"); + // FIXME: Is this desired for LLVM? Fix if not. + verifyFormat("A a;"); + verifyFormat("A a;"); + verifyFormat("A a;"); + verifyFormat("A a;"); + verifyGoogleFormat("int main(int argc, char** argv) {\n}"); + verifyGoogleFormat("A a;"); + verifyGoogleFormat("A a;"); + verifyGoogleFormat("A a;"); + verifyGoogleFormat("A a;"); } TEST_F(FormatTest, LineStartsWithSpecialCharacter) {