diff options
author | Alexander Kornienko <alexfh@google.com> | 2013-03-12 16:28:18 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2013-03-12 16:28:18 +0000 |
commit | 3fd9ccdd9f8d259bcf518e7056cfd419d992e984 (patch) | |
tree | 6ba187552d664b5806a72153bf083741db65ed01 /unittests/Format/FormatTest.cpp | |
parent | 4ad07bdc2cb8f48a8b7c0769dfab6916c9cfbfc3 (diff) |
Implemented formatting of rvalue references
Summary:
Handle "&&" usage as rvalue reference, added tests and fixed incorrect
tests that interfere with this feature.
http://llvm.org/bugs/show_bug.cgi?id=15051
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D531
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176874 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r-- | unittests/Format/FormatTest.cpp | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index caf291fc9d..5cab6f96f3 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -1238,9 +1238,11 @@ TEST_F(FormatTest, ConstructorInitializers) { TEST_F(FormatTest, BreaksAsHighAsPossible) { verifyFormat( - "if ((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaaaaaaaa) ||\n" - " (bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && bbbbbbbbbbbbbbbbbbbbbbbbbb))\n" - " f();"); + "void f() {\n" + " if ((aaaaaaaaaaaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaaaaaaaa) ||\n" + " (bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && bbbbbbbbbbbbbbbbbbbbbbbbbb))\n" + " f();\n" + "}"); verifyFormat("if (Intervals[i].getRange().getFirst() <\n" " Intervals[i - 1].getRange().getLast()) {\n}"); } @@ -1271,8 +1273,10 @@ TEST_F(FormatTest, BreaksDesireably) { " (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);"); verifyFormat( - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&\n" - " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);"); + "void f() {\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);\n" + "}"); verifyFormat( "aaaaaa(new Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n" " aaaaaaaaaaaaaaaaaaaaaaaaaaaaa));"); @@ -1973,6 +1977,21 @@ TEST_F(FormatTest, AdaptivelyFormatsPointersAndReferences) { getGoogleStyle())); } +TEST_F(FormatTest, UnderstandsRvalueReferences) { + verifyFormat("int f(int &&a) {}"); + verifyFormat("int f(int a, char &&b) {}"); + verifyFormat("void f() { int &&a = b; }"); + verifyGoogleFormat("int f(int a, char&& b) {}"); + verifyGoogleFormat("void f() { int&& a = b; }"); + + // FIXME: These require somewhat deeper changes in template arguments + // formatting. + // verifyIndependentOfContext("A<int &&> a;"); + // verifyIndependentOfContext("A<int &&, int &&> a;"); + // verifyGoogleFormat("A<int&&> a;"); + // verifyGoogleFormat("A<int&&, int&&> a;"); +} + TEST_F(FormatTest, FormatsBinaryOperatorsPrecedingEquals) { verifyFormat("void f() {\n" " x[aaaaaaaaa -\n" |