aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;");