summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Driver
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2018-07-11 14:08:17 +0000
committerSimon Marchi <simon.marchi@ericsson.com>2018-07-11 14:08:17 +0000
commita37ef291c84787329d1d77be66593042577b05ec (patch)
tree85f2ba8e0a3779690bf87098a443b841211afbe0 /clang/unittests/Driver
parent1edde95abdeab74cec1b83eaffce87f3afa8b1c4 (diff)
downloadbcm5719-llvm-a37ef291c84787329d1d77be66593042577b05ec.tar.gz
bcm5719-llvm-a37ef291c84787329d1d77be66593042577b05ec.zip
[VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name
Summary: InMemoryFileSystem::status behaves differently than RealFileSystem::status. The Name contained in the Status returned by RealFileSystem::status will be the path as requested by the caller, whereas InMemoryFileSystem::status returns the normalized path. For example, when requested the status for "../src/first.h", RealFileSystem returns a Status with "../src/first.h" as the Name. InMemoryFileSystem returns "/absolute/path/to/src/first.h". The reason for this change is that I want to make a unit test in the clangd testsuite (where we use an InMemoryFileSystem) to reproduce a bug I get with the clangd program (where a RealFileSystem is used). This difference in behavior "hides" the bug in the unit test version. In general, I guess it's good if InMemoryFileSystem works as much as possible like RealFileSystem. Doing so made the FileEntry::RealPathName value (assigned in FileManager::getFile) wrong when using the InMemoryFileSystem. That's because it assumes that vfs::File::getName will always return the real path. I changed to to use FileSystem::getRealPath instead. Subscribers: ilya-biryukov, ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D48903 llvm-svn: 336807
Diffstat (limited to 'clang/unittests/Driver')
-rw-r--r--clang/unittests/Driver/ToolChainTest.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/unittests/Driver/ToolChainTest.cpp b/clang/unittests/Driver/ToolChainTest.cpp
index d4198eaeb1c..0d4c545bd79 100644
--- a/clang/unittests/Driver/ToolChainTest.cpp
+++ b/clang/unittests/Driver/ToolChainTest.cpp
@@ -113,7 +113,7 @@ TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
std::replace(S.begin(), S.end(), '\\', '/');
#endif
EXPECT_EQ("Found candidate GCC installation: "
- "/home/test/lib/gcc/arm-linux-gnueabi/4.6.1\n"
+ "/home/test/bin/../lib/gcc/arm-linux-gnueabi/4.6.1\n"
"Selected GCC installation: "
"/home/test/bin/../lib/gcc/arm-linux-gnueabi/4.6.1\n"
"Candidate multilib: .;@m32\n"
OpenPOWER on IntegriCloud