mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
Fix C2975 error under MSVC
Apparantly a constexpr value isn't a compile time constant under certain versions of MSVC.
This commit is contained in:
parent
5a6feccd46
commit
edd124eebe
@ -587,37 +587,35 @@ TEST(STLExtras, MoveRange) {
|
||||
}
|
||||
operator bool() const { return A; }
|
||||
};
|
||||
|
||||
constexpr size_t ItemCount = 4;
|
||||
SmallVector<Foo, ItemCount> V1, V2, V3, V4;
|
||||
SmallVector<Foo, 4U> V1, V2, V3, V4;
|
||||
auto HasVal = [](const Foo &Item) { return static_cast<bool>(Item); };
|
||||
auto Build = [&] {
|
||||
SmallVector<Foo, ItemCount> Foos;
|
||||
Foos.resize(ItemCount);
|
||||
SmallVector<Foo, 4U> Foos;
|
||||
Foos.resize(4U);
|
||||
return Foos;
|
||||
};
|
||||
|
||||
V1.resize(ItemCount);
|
||||
V1.resize(4U);
|
||||
EXPECT_TRUE(llvm::all_of(V1, HasVal));
|
||||
|
||||
llvm::move(V1, std::back_inserter(V2));
|
||||
|
||||
// Ensure input container is same size, but its contents were moved out.
|
||||
EXPECT_EQ(V1.size(), ItemCount);
|
||||
EXPECT_EQ(V1.size(), 4U);
|
||||
EXPECT_TRUE(llvm::none_of(V1, HasVal));
|
||||
|
||||
// Ensure output container has the contents of the input container.
|
||||
EXPECT_EQ(V2.size(), ItemCount);
|
||||
EXPECT_EQ(V2.size(), 4U);
|
||||
EXPECT_TRUE(llvm::all_of(V2, HasVal));
|
||||
|
||||
llvm::move(std::move(V2), std::back_inserter(V3));
|
||||
|
||||
EXPECT_TRUE(llvm::none_of(V2, HasVal));
|
||||
EXPECT_EQ(V3.size(), ItemCount);
|
||||
EXPECT_EQ(V3.size(), 4U);
|
||||
EXPECT_TRUE(llvm::all_of(V3, HasVal));
|
||||
|
||||
llvm::move(Build(), std::back_inserter(V4));
|
||||
EXPECT_EQ(V4.size(), ItemCount);
|
||||
EXPECT_EQ(V4.size(), 4U);
|
||||
EXPECT_TRUE(llvm::all_of(V4, HasVal));
|
||||
}
|
||||
} // namespace
|
||||
|
Loading…
Reference in New Issue
Block a user