Go to file
Simon Marchi ddbabc6b7c [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.

An indirect impact of this change is that a -Wnonportable-include-path
warning is now emitted in test PCH/case-insensitive-include.c.  This is
because the real path of the included file (with the wrong case) was not
available previously, whereas it is now.

Reviewers: malaperle, ilya-biryukov, bkramer

Reviewed By: ilya-biryukov

Subscribers: eric_niebler, malaperle, omtcyfz, hokein, bkramer, ilya-biryukov, ioeric, cfe-commits

Differential Revision: https://reviews.llvm.org/D48903

llvm-svn: 339063
2018-08-06 21:48:20 +00:00
clang [VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name 2018-08-06 21:48:20 +00:00
clang-tools-extra [clangd] Index Interfaces for Xrefs 2018-08-06 13:14:32 +00:00
compiler-rt [CMake] Allow building builtins standalone out of tree without any llvm-config available 2018-08-03 05:50:33 +00:00
debuginfo-tests Disable the asan-deque.cpp integration test for AppleLLDB < v1000 2018-08-04 00:02:48 +00:00
libclc amdgcn: Use __constant AS for amdgcn builtins. 2018-08-03 15:14:08 +00:00
libcxx [libc++] Add the _LIBCPP_HIDE_FROM_ABI_AFTER_V1 macro 2018-08-06 14:11:50 +00:00
libcxxabi [itanium demangler] Support dot suffixes on block invocation functions 2018-08-02 17:45:01 +00:00
libunwind [CMake] Allow building standalone without any llvm-config available 2018-08-03 05:51:31 +00:00
lld Add TARGET(foo) linker script directive. 2018-08-06 21:29:41 +00:00
lldb [IRMemoryMap] Avoid redundant zero-init in the Allocation constructor (NFC) 2018-08-06 20:13:52 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [LICM] Further strengthen tests for hoisting guards and invariant.starts [NFC] 2018-08-06 21:39:43 +00:00
openmp [OpenMP] Fix doacross testing for gcc 2018-08-02 19:13:07 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [JSONExporter] Print instead of ignoring parser error. 2018-08-02 00:11:14 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.