r211662 - VirtualFileSystemTest.cpp: Get rid of initializer list on std::vector, to appease msc17.
NAKAMURA Takumi
geek4civic at gmail.com
Tue Jun 24 21:34:11 PDT 2014
Author: chapuni
Date: Tue Jun 24 23:34:10 2014
New Revision: 211662
URL: http://llvm.org/viewvc/llvm-project?rev=211662&view=rev
Log:
VirtualFileSystemTest.cpp: Get rid of initializer list on std::vector, to appease msc17.
Modified:
cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp
Modified: cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp?rev=211662&r1=211661&r2=211662&view=diff
==============================================================================
--- cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp (original)
+++ cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp Tue Jun 24 23:34:10 2014
@@ -306,8 +306,16 @@ TEST(VirtualFileSystemTest, BasicRealFSI
EXPECT_EQ(vfs::directory_iterator(), I);
}
+template <typename T, size_t N>
+std::vector<StringRef> makeStringRefVector(const T (&Arr)[N]) {
+ std::vector<StringRef> Vec;
+ for (size_t i = 0; i != N; ++i)
+ Vec.push_back(Arr[i]);
+ return Vec;
+}
+
static void checkContents(vfs::directory_iterator I,
- ArrayRef<std::string> Expected) {
+ ArrayRef<StringRef> Expected) {
std::error_code EC;
auto ExpectedIter = Expected.begin(), ExpectedEnd = Expected.end();
for (vfs::directory_iterator E;
@@ -327,25 +335,25 @@ TEST(VirtualFileSystemTest, OverlayItera
O->pushOverlay(Upper);
std::error_code EC;
- checkContents(O->dir_begin("/", EC), ArrayRef<std::string>());
+ checkContents(O->dir_begin("/", EC), ArrayRef<StringRef>());
Lower->addRegularFile("/file1");
- checkContents(O->dir_begin("/", EC), ArrayRef<std::string>("/file1"));
+ checkContents(O->dir_begin("/", EC), ArrayRef<StringRef>("/file1"));
Upper->addRegularFile("/file2");
{
- std::vector<std::string> Contents = {"/file2", "/file1"};
- checkContents(O->dir_begin("/", EC), Contents);
+ const char *Contents[] = {"/file2", "/file1"};
+ checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
Lower->addDirectory("/dir1");
Lower->addRegularFile("/dir1/foo");
Upper->addDirectory("/dir2");
Upper->addRegularFile("/dir2/foo");
- checkContents(O->dir_begin("/dir2", EC), ArrayRef<std::string>("/dir2/foo"));
+ checkContents(O->dir_begin("/dir2", EC), ArrayRef<StringRef>("/dir2/foo"));
{
- std::vector<std::string> Contents = {"/dir2", "/file2", "/dir1", "/file1"};
- checkContents(O->dir_begin("/", EC), Contents);
+ const char *Contents[] = {"/dir2", "/file2", "/dir1", "/file1"};
+ checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
}
@@ -359,16 +367,16 @@ TEST(VirtualFileSystemTest, ThreeLevelIt
O->pushOverlay(Upper);
std::error_code EC;
- checkContents(O->dir_begin("/", EC), ArrayRef<std::string>());
+ checkContents(O->dir_begin("/", EC), ArrayRef<StringRef>());
Middle->addRegularFile("/file2");
- checkContents(O->dir_begin("/", EC), ArrayRef<std::string>("/file2"));
+ checkContents(O->dir_begin("/", EC), ArrayRef<StringRef>("/file2"));
Lower->addRegularFile("/file1");
Upper->addRegularFile("/file3");
{
- std::vector<std::string> Contents = {"/file3", "/file2", "/file1"};
- checkContents(O->dir_begin("/", EC), Contents);
+ const char *Contents[] = {"/file3", "/file2", "/file1"};
+ checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
}
@@ -391,9 +399,9 @@ TEST(VirtualFileSystemTest, HiddenInIter
Upper->addRegularFile("/onlyInUp", sys::fs::owner_all);
Upper->addRegularFile("/hiddenByUp", sys::fs::owner_all);
{
- std::vector<std::string> Contents = {
- "/hiddenByUp", "/onlyInUp", "/hiddenByMid", "/onlyInMid", "/onlyInLow"};
- checkContents(O->dir_begin("/", EC), Contents);
+ const char *Contents[] = {"/hiddenByUp", "/onlyInUp", "/hiddenByMid",
+ "/onlyInMid", "/onlyInLow"};
+ checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
// Make sure we get the top-most entry
@@ -817,14 +825,14 @@ TEST_F(VFSFromYAMLTest, DirectoryIterati
std::error_code EC;
{
- std::vector<std::string> Contents = {"//root/file1", "//root/file2",
- "//root/file3", "//root/foo"};
- checkContents(O->dir_begin("//root/", EC), Contents);
+ const char *Contents[] = {"//root/file1", "//root/file2", "//root/file3",
+ "//root/foo"};
+ checkContents(O->dir_begin("//root/", EC), makeStringRefVector(Contents));
}
{
- std::vector<std::string> Contents = {"//root/foo/bar/a",
- "//root/foo/bar/b"};
- checkContents(O->dir_begin("//root/foo/bar", EC), Contents);
+ const char *Contents[] = {"//root/foo/bar/a", "//root/foo/bar/b"};
+ checkContents(O->dir_begin("//root/foo/bar", EC),
+ makeStringRefVector(Contents));
}
}
More information about the cfe-commits
mailing list