Author: d0k Date: Mon Oct 12 04:22:07 2015 New Revision: 250021 URL: http://llvm.org/viewvc/llvm-project?rev=250021&view=rev Log: [VFS] remove handling of '..' for now.
This can fail badly if we're overlaying a real file system and there are symlinks there. Just keep the path as-is for now. This essentially reverts r249830. Modified: cfe/trunk/lib/Basic/VirtualFileSystem.cpp cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp Modified: cfe/trunk/lib/Basic/VirtualFileSystem.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/VirtualFileSystem.cpp?rev=250021&r1=250020&r2=250021&view=diff ============================================================================== --- cfe/trunk/lib/Basic/VirtualFileSystem.cpp (original) +++ cfe/trunk/lib/Basic/VirtualFileSystem.cpp Mon Oct 12 04:22:07 2015 @@ -497,7 +497,7 @@ void InMemoryFileSystem::addFile(const T assert(!EC); (void)EC; - FileManager::removeDotPaths(Path, /*RemoveDotDot=*/true); + FileManager::removeDotPaths(Path, /*RemoveDotDot=*/false); if (Path.empty()) return; @@ -556,7 +556,7 @@ lookupInMemoryNode(const InMemoryFileSys assert(!EC); (void)EC; - FileManager::removeDotPaths(Path, /*RemoveDotDot=*/true); + FileManager::removeDotPaths(Path, /*RemoveDotDot=*/false); if (Path.empty()) return Dir; Modified: cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp?rev=250021&r1=250020&r2=250021&view=diff ============================================================================== --- cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp (original) +++ cfe/trunk/unittests/Basic/VirtualFileSystemTest.cpp Mon Oct 12 04:22:07 2015 @@ -569,7 +569,6 @@ TEST_F(InMemoryFileSystemTest, OverlayFi TEST_F(InMemoryFileSystemTest, OpenFileForRead) { FS.addFile("/a", 0, MemoryBuffer::getMemBuffer("a")); FS.addFile("././c", 0, MemoryBuffer::getMemBuffer("c")); - FS.addFile("./d/../d", 0, MemoryBuffer::getMemBuffer("d")); auto File = FS.openFileForRead("/a"); ASSERT_EQ("a", (*(*File)->getBuffer("ignored"))->getBuffer()); File = FS.openFileForRead("/a"); // Open again. @@ -582,8 +581,6 @@ TEST_F(InMemoryFileSystemTest, OpenFileF ASSERT_EQ(File.getError(), errc::no_such_file_or_directory) << FS.toString(); File = FS.openFileForRead("./c"); ASSERT_EQ("c", (*(*File)->getBuffer("ignored"))->getBuffer()); - File = FS.openFileForRead("e/../d"); - ASSERT_EQ("d", (*(*File)->getBuffer("ignored"))->getBuffer()); } TEST_F(InMemoryFileSystemTest, DirectoryIteration) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits