llvm-project/clang/lib/Serialization
Ben Barham 1206b95e07 [ASTReader] Only mark module out of date if not already compiled
If a module contains errors (ie. it was built with
-fallow-pcm-with-compiler-errors and had errors) and was from the module
cache, it is marked as out of date - see
a2c1054c30.

When a module is imported multiple times in the one compile, this caused
it to be recompiled each time - removing the existing buffer from the
module cache and replacing it. This results in various errors further
down the line.

Instead, only mark the module as out of date if it isn't already
finalized in the module cache.

Reviewed By: akyrtzi

Differential Revision: https://reviews.llvm.org/D100619
2021-04-16 17:57:03 -07:00
..
ASTCommon.cpp [Clang][RISCV] Define RISC-V V builtin types 2021-02-18 10:17:31 +08:00
ASTCommon.h [OPENMP 5.0]Add initial support for 'allocate' directive. 2019-03-07 17:54:44 +00:00
ASTReader.cpp [ASTReader] Only mark module out of date if not already compiled 2021-04-16 17:57:03 -07:00
ASTReaderDecl.cpp Recommit of a2fdf9d4d7. 2021-02-05 11:27:30 -05:00
ASTReaderInternals.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ASTReaderStmt.cpp [OpenMP51] Initial support for masked directive and filter clause 2021-04-09 14:00:36 -05:00
ASTWriter.cpp [OpenMP51] Initial support for masked directive and filter clause 2021-04-09 14:00:36 -05:00
ASTWriterDecl.cpp Make iteration over the DeclContext::lookup_result safe. 2021-03-17 08:59:04 +00:00
ASTWriterStmt.cpp [OpenMP51] Initial support for masked directive and filter clause 2021-04-09 14:00:36 -05:00
CMakeLists.txt [openmp] Base of tablegen generated OpenMP common declaration 2020-06-23 10:32:32 -04:00
GeneratePCH.cpp [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status 2020-03-31 13:50:12 -07:00
GlobalModuleIndex.cpp [clang][NFC] Use SmallString instead of SmallVector<char 2020-11-17 13:02:58 +00:00
InMemoryModuleCache.cpp Revert "[modules] Do not cache invalid state for modules that we attempted to load." 2020-03-10 10:59:26 -07:00
ModuleFile.cpp clang/Modules: Move Serialization/Module.{h,cpp} to ModuleFile, NFC 2019-11-21 19:07:00 -08:00
ModuleFileExtension.cpp [clang][modules] Use extensible RTTI for ModuleFileExtension 2021-03-05 11:11:05 +01:00
ModuleManager.cpp Change Module::ASTFile and ModuleFile::File => Optional<FileEntryRef>, NFC 2020-11-02 15:11:51 -05:00
MultiOnDiskHashTable.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PCHContainerOperations.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00