Skip to content

Commit 78e21ba

Browse files
committedMar 26, 2019
[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
1 parent 4dcabf8 commit 78e21ba

File tree

1 file changed

+42
-36
lines changed

1 file changed

+42
-36
lines changed
 

‎llvm/unittests/ADT/SmallVectorTest.cpp

+42-36
Original file line numberDiff line numberDiff line change
@@ -908,63 +908,69 @@ TEST(SmallVectorTest, EmplaceBack) {
908908
EmplaceableArg<3> A3(true);
909909
{
910910
SmallVector<Emplaceable, 3> V;
911-
V.emplace_back();
911+
Emplaceable &back = V.emplace_back();
912+
EXPECT_TRUE(&back == &V.back());
912913
EXPECT_TRUE(V.size() == 1);
913-
EXPECT_TRUE(V.back().State == ES_Emplaced);
914-
EXPECT_TRUE(V.back().A0.State == EAS_Defaulted);
915-
EXPECT_TRUE(V.back().A1.State == EAS_Defaulted);
916-
EXPECT_TRUE(V.back().A2.State == EAS_Defaulted);
917-
EXPECT_TRUE(V.back().A3.State == EAS_Defaulted);
914+
EXPECT_TRUE(back.State == ES_Emplaced);
915+
EXPECT_TRUE(back.A0.State == EAS_Defaulted);
916+
EXPECT_TRUE(back.A1.State == EAS_Defaulted);
917+
EXPECT_TRUE(back.A2.State == EAS_Defaulted);
918+
EXPECT_TRUE(back.A3.State == EAS_Defaulted);
918919
}
919920
{
920921
SmallVector<Emplaceable, 3> V;
921-
V.emplace_back(std::move(A0));
922+
Emplaceable &back = V.emplace_back(std::move(A0));
923+
EXPECT_TRUE(&back == &V.back());
922924
EXPECT_TRUE(V.size() == 1);
923-
EXPECT_TRUE(V.back().State == ES_Emplaced);
924-
EXPECT_TRUE(V.back().A0.State == EAS_RValue);
925-
EXPECT_TRUE(V.back().A1.State == EAS_Defaulted);
926-
EXPECT_TRUE(V.back().A2.State == EAS_Defaulted);
927-
EXPECT_TRUE(V.back().A3.State == EAS_Defaulted);
925+
EXPECT_TRUE(back.State == ES_Emplaced);
926+
EXPECT_TRUE(back.A0.State == EAS_RValue);
927+
EXPECT_TRUE(back.A1.State == EAS_Defaulted);
928+
EXPECT_TRUE(back.A2.State == EAS_Defaulted);
929+
EXPECT_TRUE(back.A3.State == EAS_Defaulted);
928930
}
929931
{
930932
SmallVector<Emplaceable, 3> V;
931-
V.emplace_back(A0);
933+
Emplaceable &back = V.emplace_back(A0);
934+
EXPECT_TRUE(&back == &V.back());
932935
EXPECT_TRUE(V.size() == 1);
933-
EXPECT_TRUE(V.back().State == ES_Emplaced);
934-
EXPECT_TRUE(V.back().A0.State == EAS_LValue);
935-
EXPECT_TRUE(V.back().A1.State == EAS_Defaulted);
936-
EXPECT_TRUE(V.back().A2.State == EAS_Defaulted);
937-
EXPECT_TRUE(V.back().A3.State == EAS_Defaulted);
936+
EXPECT_TRUE(back.State == ES_Emplaced);
937+
EXPECT_TRUE(back.A0.State == EAS_LValue);
938+
EXPECT_TRUE(back.A1.State == EAS_Defaulted);
939+
EXPECT_TRUE(back.A2.State == EAS_Defaulted);
940+
EXPECT_TRUE(back.A3.State == EAS_Defaulted);
938941
}
939942
{
940943
SmallVector<Emplaceable, 3> V;
941-
V.emplace_back(A0, A1);
944+
Emplaceable &back = V.emplace_back(A0, A1);
945+
EXPECT_TRUE(&back == &V.back());
942946
EXPECT_TRUE(V.size() == 1);
943-
EXPECT_TRUE(V.back().State == ES_Emplaced);
944-
EXPECT_TRUE(V.back().A0.State == EAS_LValue);
945-
EXPECT_TRUE(V.back().A1.State == EAS_LValue);
946-
EXPECT_TRUE(V.back().A2.State == EAS_Defaulted);
947-
EXPECT_TRUE(V.back().A3.State == EAS_Defaulted);
947+
EXPECT_TRUE(back.State == ES_Emplaced);
948+
EXPECT_TRUE(back.A0.State == EAS_LValue);
949+
EXPECT_TRUE(back.A1.State == EAS_LValue);
950+
EXPECT_TRUE(back.A2.State == EAS_Defaulted);
951+
EXPECT_TRUE(back.A3.State == EAS_Defaulted);
948952
}
949953
{
950954
SmallVector<Emplaceable, 3> V;
951-
V.emplace_back(std::move(A0), std::move(A1));
955+
Emplaceable &back = V.emplace_back(std::move(A0), std::move(A1));
956+
EXPECT_TRUE(&back == &V.back());
952957
EXPECT_TRUE(V.size() == 1);
953-
EXPECT_TRUE(V.back().State == ES_Emplaced);
954-
EXPECT_TRUE(V.back().A0.State == EAS_RValue);
955-
EXPECT_TRUE(V.back().A1.State == EAS_RValue);
956-
EXPECT_TRUE(V.back().A2.State == EAS_Defaulted);
957-
EXPECT_TRUE(V.back().A3.State == EAS_Defaulted);
958+
EXPECT_TRUE(back.State == ES_Emplaced);
959+
EXPECT_TRUE(back.A0.State == EAS_RValue);
960+
EXPECT_TRUE(back.A1.State == EAS_RValue);
961+
EXPECT_TRUE(back.A2.State == EAS_Defaulted);
962+
EXPECT_TRUE(back.A3.State == EAS_Defaulted);
958963
}
959964
{
960965
SmallVector<Emplaceable, 3> V;
961-
V.emplace_back(std::move(A0), A1, std::move(A2), A3);
966+
Emplaceable &back = V.emplace_back(std::move(A0), A1, std::move(A2), A3);
967+
EXPECT_TRUE(&back == &V.back());
962968
EXPECT_TRUE(V.size() == 1);
963-
EXPECT_TRUE(V.back().State == ES_Emplaced);
964-
EXPECT_TRUE(V.back().A0.State == EAS_RValue);
965-
EXPECT_TRUE(V.back().A1.State == EAS_LValue);
966-
EXPECT_TRUE(V.back().A2.State == EAS_RValue);
967-
EXPECT_TRUE(V.back().A3.State == EAS_LValue);
969+
EXPECT_TRUE(back.State == ES_Emplaced);
970+
EXPECT_TRUE(back.A0.State == EAS_RValue);
971+
EXPECT_TRUE(back.A1.State == EAS_LValue);
972+
EXPECT_TRUE(back.A2.State == EAS_RValue);
973+
EXPECT_TRUE(back.A3.State == EAS_LValue);
968974
}
969975
{
970976
SmallVector<int, 1> V;

0 commit comments

Comments
 (0)
Please sign in to comment.