llvm-project/clang/lib/Serialization
Chandler Carruth 0d745bcf66 [modules] Teach the AST reader to handle the case of importing a module
with a subset of the existing target CPU features or mismatched CPU
names.

While we can't check that the CPU name used to build the module will end
up being able to codegen correctly for the translation unit, we actually
check that the imported features are a subset of the existing features.

While here, rewrite the code to use std::set_difference and have it
diagnose all of the differences found.

Test case added which walks the set relationships and ensures we
diagnose all the right cases and accept the others.

No functional change for implicit modules here, just better diagnostics.

llvm-svn: 232248
2015-03-14 04:47:43 +00:00
..
ASTCommon.cpp Replace Sema's map of locally-scoped extern "C" declarations with a DeclContext 2015-03-07 00:04:49 +00:00
ASTCommon.h [modules] Don't clobber a destructor's operator delete when adding another one; 2015-03-10 01:41:22 +00:00
ASTReader.cpp [modules] Teach the AST reader to handle the case of importing a module 2015-03-14 04:47:43 +00:00
ASTReaderDecl.cpp [modules] When merging the pattern of a class template definition into a prior 2015-03-11 18:21:02 +00:00
ASTReaderInternals.h Objective-C: Serialize "more than one decl" state of ObjCMethodList. 2014-12-27 22:14:15 +00:00
ASTReaderStmt.cpp [OPENMP] Additional sema analysis for 'omp atomic[ update]'. 2015-03-13 12:27:31 +00:00
ASTWriter.cpp Deduplicate #undef directives imported from multiple modules. 2015-03-13 04:05:01 +00:00
ASTWriterDecl.cpp [modules] Don't clobber a destructor's operator delete when adding another one; 2015-03-10 01:41:22 +00:00
ASTWriterStmt.cpp [OPENMP] Additional sema analysis for 'omp atomic[ update]'. 2015-03-13 12:27:31 +00:00
CMakeLists.txt Revert "Wrap clang module files in a Mach-O, ELF, or COFF container." 2015-02-25 02:44:04 +00:00
GeneratePCH.cpp Revert "Wrap clang module files in a Mach-O, ELF, or COFF container." 2015-02-25 02:44:04 +00:00
GlobalModuleIndex.cpp Revert "Wrap clang module files in a Mach-O, ELF, or COFF container." 2015-02-25 02:44:04 +00:00
Makefile
Module.cpp Add a "signature" to AST files to verify that they haven't changed 2014-10-23 18:05:36 +00:00
ModuleManager.cpp Revert "Wrap clang module files in a Mach-O, ELF, or COFF container." 2015-02-25 02:44:04 +00:00