llvm-project/clang/lib
Duncan P. N. Exon Smith e1b7f22b34 ASTReader: Bypass overridden files when reading PCHs
If contents of a file that is part of a PCM are overridden when reading
it, but weren't overridden when the PCM was being built, the ASTReader
will emit an error.  Now it creates a separate FileEntry for recovery,
bypassing the overridden content instead of discarding it.  The
pre-existing testcase clang/test/PCH/remap-file-from-pch.cpp confirms
that the new recovery method works correctly.

This resolves a long-standing FIXME to avoid hypothetically invalidating
another precompiled module that's already using the overridden contents.

This also removes ContentCache-related API that would be unsafe to use
across `CompilerInstance`s in an implicit modules build.  This helps to
unblock us sinking it from SourceManager into FileManager in the future,
which would allow us to delete `InMemoryModuleCache`.

https://reviews.llvm.org/D66710

llvm-svn: 370546
2019-08-30 22:59:25 +00:00
..
ARCMigrate [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
AST Revert [Clang Interpreter] Initial patch for the constexpr interpreter 2019-08-30 21:32:00 +00:00
ASTMatchers [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Analysis [CFG] Fix CFG for statement-expressions in return values. 2019-08-29 20:37:28 +00:00
Basic ASTReader: Bypass overridden files when reading PCHs 2019-08-30 22:59:25 +00:00
CodeGen [CodeGen]: fix error message for "=r" asm constraint 2019-08-30 08:58:46 +00:00
CrossTU [CrossTU] Fix problem with CrossTU AST load limit and progress messages. 2019-08-12 07:15:29 +00:00
DirectoryWatcher [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Driver Revert [Clang Interpreter] Initial patch for the constexpr interpreter 2019-08-30 21:32:00 +00:00
Edit [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
Format clang-format: [JS] handle `as const`. 2019-08-26 15:37:05 +00:00
Frontend Revert [Clang Interpreter] Initial patch for the constexpr interpreter 2019-08-30 21:32:00 +00:00
FrontendTool [clang][ifs] Dropping older experimental interface stub formats. 2019-08-22 23:44:34 +00:00
Headers [x86] Adding support for some missing intrinsics: _mm512_cvtsi512_si32 2019-08-29 06:18:34 +00:00
Index [Index] Added a ShouldSkipFunctionBody callback to libIndex, and refactored clients to use it instead of inventing their own solution 2019-08-29 11:47:34 +00:00
Lex Re-land [clang-scan-deps] Minimizer: Correctly handle multi-line content with CR+LF line endings 2019-08-28 00:04:06 +00:00
Parse Diagnose _Bool as a C99 extension. 2019-08-27 20:33:05 +00:00
Rewrite [Rewrite][NFC] Add FIXMEs and tests for RemoveLineIfEmpty bug 2019-08-15 21:17:48 +00:00
Sema [c++20] Implement semantic restrictions for C++20 designated 2019-08-30 22:52:55 +00:00
Serialization ASTReader: Bypass overridden files when reading PCHs 2019-08-30 22:59:25 +00:00
StaticAnalyzer [Analyzer] Iterator Checkers - Make range errors and invalidated access fatal 2019-08-29 09:35:47 +00:00
Tooling [clang-scan-deps] NFC, remove outdated implementation comment 2019-08-30 17:34:22 +00:00
CMakeLists.txt Reland [clang] DirectoryWatcher 2019-07-12 20:34:10 +00:00