forked from OSchip/llvm-project
f85ee6d56a
Currently we are trying to implement the semantics of C++ Modules. A big challenge would be the ODR checking. Previously we did this in ASTReader, it would handle the cases like: ``` module; export module a_module; import another_module; // check the ODR consistency here ``` or ``` export module m; import a_module; import another_module; // check the ODR consistency here ``` However, it wouldn't handle the case: ``` import another_module; // When we check ODR here, everything looks fine. ``` In the case, the read process is ended. But we need to check the ODR still. To reuse the facility we do in ASTReader, this patch moves the corresponding codes into ASTContext. This should be good since there were facilities like `hasSameTemplateName` and `hasSameType`. Although the patch is a little bit big, all of the change should be trivial. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D118223 |
||
---|---|---|
.. | ||
ASTCommon.cpp | ||
ASTCommon.h | ||
ASTReader.cpp | ||
ASTReaderDecl.cpp | ||
ASTReaderInternals.h | ||
ASTReaderStmt.cpp | ||
ASTWriter.cpp | ||
ASTWriterDecl.cpp | ||
ASTWriterStmt.cpp | ||
CMakeLists.txt | ||
GeneratePCH.cpp | ||
GlobalModuleIndex.cpp | ||
InMemoryModuleCache.cpp | ||
ModuleFile.cpp | ||
ModuleFileExtension.cpp | ||
ModuleManager.cpp | ||
MultiOnDiskHashTable.h | ||
PCHContainerOperations.cpp |