aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2013-01-12 05:50:48 +0000
committerNico Weber <nicolasweber@gmx.de>2013-01-12 05:50:48 +0000
commit5e9f91c342f8efffe0423d516997ddbc408c9f53 (patch)
tree7d8d65b98250928e42e15df2fce8f9d704ed959f
parent2355cebe3847acd4ce175e3a88788b8effd93c6e (diff)
Formatter: * and & are binary operators before ( and [.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172303 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Format/Format.cpp1
-rw-r--r--unittests/Format/FormatTest.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index e4dc291312..aa534b9ef3 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -974,6 +974,7 @@ private:
NextToken.Tok.is(tok::plus) || NextToken.Tok.is(tok::minus) ||
NextToken.Tok.is(tok::plusplus) || NextToken.Tok.is(tok::minusminus) ||
NextToken.Tok.is(tok::tilde) || NextToken.Tok.is(tok::exclaim) ||
+ NextToken.Tok.is(tok::l_paren) || NextToken.Tok.is(tok::l_square) ||
NextToken.Tok.is(tok::kw_alignof) || NextToken.Tok.is(tok::kw_sizeof))
return TT_BinaryOperator;
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index e5dbd63020..4b3297db3d 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -1016,6 +1016,9 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
verifyFormat("a * --b;");
verifyFormat("a[4] * b;");
verifyFormat("f() * b;");
+ verifyFormat("a * [self dostuff];");
+ verifyFormat("a * (a + b);");
+ verifyFormat("(a *)(a + b);");
verifyFormat("int *pa = (int *)&a;");
verifyFormat("InvalidRegions[*R] = 0;");