diff options
author | Fangrui Song <maskray@google.com> | 2019-03-26 05:33:52 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-03-26 05:33:52 +0000 |
commit | 78e21bac9925af3a5b839d7f635d8f27dad87fda (patch) | |
tree | 425f396a07ff0a1a4e1a4840db9e81728d636982 /llvm/unittests/ADT | |
parent | 4dcabf8ddfa2a1f93e15700fd463b79baa6afd9b (diff) | |
download | bcm5719-llvm-78e21bac9925af3a5b839d7f635d8f27dad87fda.tar.gz bcm5719-llvm-78e21bac9925af3a5b839d7f635d8f27dad87fda.zip |
[ADT] Update SmallVectorTest.EmplaceBack tests after rL356312
rL356312 changed the return type of emplace_back from void to reference.
Update the tests to check the behavior.
Reviewers: dblaikie
Reviewed By: dblaikie
Subscribers: dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59809
llvm-svn: 356980
Diffstat (limited to 'llvm/unittests/ADT')
-rw-r--r-- | llvm/unittests/ADT/SmallVectorTest.cpp | 78 |
1 files changed, 42 insertions, 36 deletions
diff --git a/llvm/unittests/ADT/SmallVectorTest.cpp b/llvm/unittests/ADT/SmallVectorTest.cpp index 7aaf82dde04..dbe404869e2 100644 --- a/llvm/unittests/ADT/SmallVectorTest.cpp +++ b/llvm/unittests/ADT/SmallVectorTest.cpp @@ -908,63 +908,69 @@ TEST(SmallVectorTest, EmplaceBack) { EmplaceableArg<3> A3(true); { SmallVector<Emplaceable, 3> V; - V.emplace_back(); + Emplaceable &back = V.emplace_back(); + EXPECT_TRUE(&back == &V.back()); EXPECT_TRUE(V.size() == 1); - EXPECT_TRUE(V.back().State == ES_Emplaced); - EXPECT_TRUE(V.back().A0.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A1.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A2.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A3.State == EAS_Defaulted); + EXPECT_TRUE(back.State == ES_Emplaced); + EXPECT_TRUE(back.A0.State == EAS_Defaulted); + EXPECT_TRUE(back.A1.State == EAS_Defaulted); + EXPECT_TRUE(back.A2.State == EAS_Defaulted); + EXPECT_TRUE(back.A3.State == EAS_Defaulted); } { SmallVector<Emplaceable, 3> V; - V.emplace_back(std::move(A0)); + Emplaceable &back = V.emplace_back(std::move(A0)); + EXPECT_TRUE(&back == &V.back()); EXPECT_TRUE(V.size() == 1); - EXPECT_TRUE(V.back().State == ES_Emplaced); - EXPECT_TRUE(V.back().A0.State == EAS_RValue); - EXPECT_TRUE(V.back().A1.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A2.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A3.State == EAS_Defaulted); + EXPECT_TRUE(back.State == ES_Emplaced); + EXPECT_TRUE(back.A0.State == EAS_RValue); + EXPECT_TRUE(back.A1.State == EAS_Defaulted); + EXPECT_TRUE(back.A2.State == EAS_Defaulted); + EXPECT_TRUE(back.A3.State == EAS_Defaulted); } { SmallVector<Emplaceable, 3> V; - V.emplace_back(A0); + Emplaceable &back = V.emplace_back(A0); + EXPECT_TRUE(&back == &V.back()); EXPECT_TRUE(V.size() == 1); - EXPECT_TRUE(V.back().State == ES_Emplaced); - EXPECT_TRUE(V.back().A0.State == EAS_LValue); - EXPECT_TRUE(V.back().A1.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A2.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A3.State == EAS_Defaulted); + EXPECT_TRUE(back.State == ES_Emplaced); + EXPECT_TRUE(back.A0.State == EAS_LValue); + EXPECT_TRUE(back.A1.State == EAS_Defaulted); + EXPECT_TRUE(back.A2.State == EAS_Defaulted); + EXPECT_TRUE(back.A3.State == EAS_Defaulted); } { SmallVector<Emplaceable, 3> V; - V.emplace_back(A0, A1); + Emplaceable &back = V.emplace_back(A0, A1); + EXPECT_TRUE(&back == &V.back()); EXPECT_TRUE(V.size() == 1); - EXPECT_TRUE(V.back().State == ES_Emplaced); - EXPECT_TRUE(V.back().A0.State == EAS_LValue); - EXPECT_TRUE(V.back().A1.State == EAS_LValue); - EXPECT_TRUE(V.back().A2.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A3.State == EAS_Defaulted); + EXPECT_TRUE(back.State == ES_Emplaced); + EXPECT_TRUE(back.A0.State == EAS_LValue); + EXPECT_TRUE(back.A1.State == EAS_LValue); + EXPECT_TRUE(back.A2.State == EAS_Defaulted); + EXPECT_TRUE(back.A3.State == EAS_Defaulted); } { SmallVector<Emplaceable, 3> V; - V.emplace_back(std::move(A0), std::move(A1)); + Emplaceable &back = V.emplace_back(std::move(A0), std::move(A1)); + EXPECT_TRUE(&back == &V.back()); EXPECT_TRUE(V.size() == 1); - EXPECT_TRUE(V.back().State == ES_Emplaced); - EXPECT_TRUE(V.back().A0.State == EAS_RValue); - EXPECT_TRUE(V.back().A1.State == EAS_RValue); - EXPECT_TRUE(V.back().A2.State == EAS_Defaulted); - EXPECT_TRUE(V.back().A3.State == EAS_Defaulted); + EXPECT_TRUE(back.State == ES_Emplaced); + EXPECT_TRUE(back.A0.State == EAS_RValue); + EXPECT_TRUE(back.A1.State == EAS_RValue); + EXPECT_TRUE(back.A2.State == EAS_Defaulted); + EXPECT_TRUE(back.A3.State == EAS_Defaulted); } { SmallVector<Emplaceable, 3> V; - V.emplace_back(std::move(A0), A1, std::move(A2), A3); + Emplaceable &back = V.emplace_back(std::move(A0), A1, std::move(A2), A3); + EXPECT_TRUE(&back == &V.back()); EXPECT_TRUE(V.size() == 1); - EXPECT_TRUE(V.back().State == ES_Emplaced); - EXPECT_TRUE(V.back().A0.State == EAS_RValue); - EXPECT_TRUE(V.back().A1.State == EAS_LValue); - EXPECT_TRUE(V.back().A2.State == EAS_RValue); - EXPECT_TRUE(V.back().A3.State == EAS_LValue); + EXPECT_TRUE(back.State == ES_Emplaced); + EXPECT_TRUE(back.A0.State == EAS_RValue); + EXPECT_TRUE(back.A1.State == EAS_LValue); + EXPECT_TRUE(back.A2.State == EAS_RValue); + EXPECT_TRUE(back.A3.State == EAS_LValue); } { SmallVector<int, 1> V; |