diff options
-rw-r--r-- | lib/Format/Format.cpp | 4 | ||||
-rw-r--r-- | unittests/Format/FormatTest.cpp | 10 |
2 files changed, 12 insertions, 2 deletions
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<int *> a;"); + verifyFormat("A<int **> a;"); + verifyFormat("A<int *, int *> a;"); + verifyFormat("A<int **, int **> a;"); + verifyGoogleFormat("int main(int argc, char** argv) {\n}"); + verifyGoogleFormat("A<int*> a;"); + verifyGoogleFormat("A<int**> a;"); + verifyGoogleFormat("A<int*, int*> a;"); + verifyGoogleFormat("A<int**, int**> a;"); } TEST_F(FormatTest, LineStartsWithSpecialCharacter) { |