forked from OSchip/llvm-project
Fix regression in formatting pointer types.
We will need a more principled solution, but we should not leave this unfixed until we come up with one. Before: void f() { int * a; } After: void f() { int *a; } llvm-svn: 173252
This commit is contained in:
parent
7d2e4c0389
commit
b9c0908f7c
|
@ -1260,6 +1260,8 @@ private:
|
|||
if (getPrecedence(Current) == prec::Assignment ||
|
||||
Current.is(tok::kw_return) || Current.is(tok::kw_throw))
|
||||
IsRHS = true;
|
||||
if (Current.is(tok::l_paren) && !Line.MustBeDeclaration)
|
||||
IsRHS = true;
|
||||
|
||||
if (Current.Type == TT_Unknown) {
|
||||
if (Current.is(tok::star) || Current.is(tok::amp)) {
|
||||
|
@ -1370,7 +1372,7 @@ private:
|
|||
|
||||
// It is very unlikely that we are going to find a pointer or reference type
|
||||
// definition on the RHS of an assignment.
|
||||
if (IsRHS || !Line.MustBeDeclaration)
|
||||
if (IsRHS)
|
||||
return TT_BinaryOperator;
|
||||
|
||||
return TT_PointerOrReference;
|
||||
|
|
|
@ -1288,6 +1288,7 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
|
|||
verifyFormat("int a = *b;");
|
||||
verifyFormat("int a = *b * c;");
|
||||
verifyFormat("int a = b * *c;");
|
||||
verifyFormat("void f() { int *a = b * c; }");
|
||||
verifyFormat("int main(int argc, char **argv) {}");
|
||||
verifyFormat("return 10 * b;");
|
||||
verifyFormat("return *b * *c;");
|
||||
|
|
Loading…
Reference in New Issue