llvm-project/clang/lib/Serialization
Chuanqi Xu 9c04851cf5 [C++20] [Module] Support reachable definition initially/partially
This patch introduces a new kind of ModuleOwnershipKind as
ReachableWhenImported. This intended the status for reachable described
at: https://eel.is/c++draft/module.reach#3.

Note that this patch is not intended to support all semantics about
reachable semantics. For example, this patch didn't implement discarded
declarations in GMF. (https://eel.is/c++draft/module.global.frag#3).

This fixes: https://bugs.llvm.org/show_bug.cgi?id=52281 and
https://godbolt.org/z/81f3ocjfW.

Reviewed By: rsmith, iains

Differential Revision: https://reviews.llvm.org/D113545
2022-06-29 12:48:48 +08:00
..
ASTCommon.cpp [modules] Merge ObjC interface ivars with anonymous types. 2022-04-04 18:48:30 -07:00
ASTCommon.h
ASTReader.cpp [clang] Use value_or instead of getValueOr (NFC) 2022-06-18 23:21:34 -07:00
ASTReaderDecl.cpp [C++20] [Module] Support reachable definition initially/partially 2022-06-29 12:48:48 +08:00
ASTReaderInternals.h [clang] Remove unused forward declarations (NFC) 2022-01-08 11:56:40 -08:00
ASTReaderStmt.cpp [OpenMP] Initial parsing and sema support for 'masked taskloop simd' construct 2022-06-28 15:27:49 -07:00
ASTWriter.cpp Revert "Don't use Optional::hasValue (NFC)" 2022-06-25 11:56:50 -07:00
ASTWriterDecl.cpp [C++20] [Module] Support reachable definition initially/partially 2022-06-29 12:48:48 +08:00
ASTWriterStmt.cpp [OpenMP] Initial parsing and sema support for 'masked taskloop simd' construct 2022-06-28 15:27:49 -07: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] Use std::move in GlobalModuleIndex::readIndex. NFC 2022-04-26 16:45:01 +08: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