diff options
author | Daniel Jasper <djasper@google.com> | 2013-01-02 08:57:10 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-01-02 08:57:10 +0000 |
commit | 5d334407e68e45e3e7baa0cd140d4fd75e7483d6 (patch) | |
tree | 7d67fa0880ffb8d2dbc58f353bac125345cefe12 /unittests/Format/FormatTest.cpp | |
parent | 4dc41def6129bcecd4d08e5ffafe021aa7b1fa2a (diff) |
Understand * and & in ternary expressions.
Before: "int a = b ? *c : * d;"
After: "int a = b ? *c : *d;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171358 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r-- | unittests/Format/FormatTest.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 99204f56f5..5dcd2d1bad 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -650,7 +650,7 @@ TEST_F(FormatTest, UndestandsOverloadedOperators) { verifyFormat("void operator delete[](void *ptr);"); } -TEST_F(FormatTest, UnderstandsUsesOfStar) { +TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) { verifyFormat("int *f(int *a) {\n}"); verifyFormat("f(a, *a);"); verifyFormat("f(*a);"); @@ -668,6 +668,8 @@ TEST_F(FormatTest, UnderstandsUsesOfStar) { verifyFormat("return 10 * b;"); verifyFormat("return *b * *c;"); verifyFormat("return a & ~b;"); + verifyFormat("f(b ? *c : *d);"); + verifyFormat("int a = b ? *c : *d;"); // FIXME: Is this desired for LLVM? Fix if not. verifyFormat("A<int *> a;"); @@ -680,6 +682,8 @@ TEST_F(FormatTest, UnderstandsUsesOfStar) { verifyGoogleFormat("A<int**> a;"); verifyGoogleFormat("A<int*, int*> a;"); verifyGoogleFormat("A<int**, int**> a;"); + verifyGoogleFormat("f(b ? *c : *d);"); + verifyGoogleFormat("int a = b ? *c : *d;"); } TEST_F(FormatTest, DoesNotBreakBeforePointerOrReference) { |