llvm-project/clang/lib/Serialization
Volodymyr Sapsai fa4a0f1d31 [modules] Add a flag for TagDecl if it was a definition demoted to a declaration.
For redeclaration chains we maintain an invariant of having only a
single definition in the chain. In a single translation unit we make
sure not to create duplicates. But modules are separate translation
units and they can contain definitions for the same symbol
independently. When we load such modules together, we need to demote
duplicate definitions to keep the AST invariants.

Some AST clients are interested in distinguishing
declaration-that-was-demoted-from-definition and
declaration-that-was-never-a-definition. For that purpose introducing
`IsThisDeclarationADemotedDefinition`. No functional change intended.

rdar://84677782

Differential Revision: https://reviews.llvm.org/D118855
2022-02-14 16:04:40 -08:00
..
ASTCommon.cpp [Clang] Add __ibm128 type to represent ppc_fp128 2021-09-06 18:00:58 +08:00
ASTCommon.h
ASTReader.cpp [Preprocessor] Reduce the memory overhead of `#define` directives (Recommit) 2022-02-14 09:27:44 -08:00
ASTReaderDecl.cpp [modules] Add a flag for TagDecl if it was a definition demoted to a declaration. 2022-02-14 16:04:40 -08:00
ASTReaderInternals.h [clang] Remove unused forward declarations (NFC) 2022-01-08 11:56:40 -08:00
ASTReaderStmt.cpp [OpenMP] support depend clause for taskwait directive, by Deepak 2021-11-19 06:30:17 -08:00
ASTWriter.cpp [Preprocessor] Reduce the memory overhead of `#define` directives (Recommit) 2022-02-14 09:27:44 -08:00
ASTWriterDecl.cpp [clang] Allocate 2 bits to store the constexpr specifier kind when serializing 2021-11-17 16:56:46 -05:00
ASTWriterStmt.cpp [OpenMP] support depend clause for taskwait directive, by Deepak 2021-11-19 06:30:17 -08:00
CMakeLists.txt [openmp] Base of tablegen generated OpenMP common declaration 2020-06-23 10:32:32 -04:00
GeneratePCH.cpp [clang][modules] NFC: Propagate import `SourceLocation` into `HeaderSearch::lookupModule` 2021-10-12 09:31:51 +02: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
ModuleFileExtension.cpp [modules] Use `HashBuilder` and `MD5` for the module hash. 2021-09-03 11:13:36 -07:00
ModuleManager.cpp unique_ptrify the ModuleManager's VisitState linked list 2022-01-19 09:57:46 -08:00
MultiOnDiskHashTable.h
PCHContainerOperations.cpp