summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-03-26 05:33:52 +0000
committerFangrui Song <maskray@google.com>2019-03-26 05:33:52 +0000
commit78e21bac9925af3a5b839d7f635d8f27dad87fda (patch)
tree425f396a07ff0a1a4e1a4840db9e81728d636982 /llvm/unittests/ADT
parent4dcabf8ddfa2a1f93e15700fd463b79baa6afd9b (diff)
downloadbcm5719-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.cpp78
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;
OpenPOWER on IntegriCloud