Commit Graph

8 Commits

Author SHA1 Message Date
Richard Smith 13c1a496d7 Improve diagnostics for config mismatches with -fmodule-file.
Unless the user uses -Wno-module-file-config-mismatch (or -Wno-error=...),
allow the AST reader to produce errors describing the nature of the config
mismatch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@333220 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-24 20:03:51 +00:00
Richard Smith 72617428e7 [modules] If we're given a module file, via -fmodule-file=, for a module, but
we can't load that file due to a configuration mismatch, and implicit module
building is disabled, and the user turns off the error-by-default warning for
that situation, then fall back to textual inclusion for the module rather than
giving an error if any of its headers are included.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252114 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-05 00:54:55 +00:00
Richard Smith ad536e2d25 [modules] Allow the error when explicitly loading an incompatible module file
via -fmodule-file= to be turned off; in that case, just include the relevant
files textually. This allows module files to be unconditionally passed to all
compile actions via CXXFLAGS, and to be ignored for rules that specify custom
incompatible flags.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250577 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-16 23:20:19 +00:00
Adrian Prantl 09fd829bf4 Revert "Revert r241620 and follow-up commits" and move the initialization
of the llvm targets from clang/CodeGen into ClangCheck.cpp and CIndex.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241653 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-08 01:00:30 +00:00
Adrian Prantl bf47af3076 Revert r241620 and follow-up commits while investigating linux buildbot failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241642 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-07 23:19:46 +00:00
Adrian Prantl b6dc7d8d83 Update testcases that use precompiled headers to require a target after
r241620.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241623 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-07 20:31:18 +00:00
Richard Smith 6e03dd94ce [modules] Simplify -cc1 interface for enabling implicit module maps.
We used to have a flag to enable module maps, and two more flags to enable
implicit module maps. This is all redundant; we don't need any flag for
enabling module maps in the abstract, and we don't usually have -fno- flags for
-cc1. We now have just a single flag, -fimplicit-module-maps, that enables
implicitly searching the file system for module map files and loading them.

The driver interface is unchanged for now. We should probably rename
-fmodule-maps to -fimplicit-module-maps at some point.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239789 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-16 00:08:24 +00:00
Chandler Carruth b80f819ba5 [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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@232248 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-14 04:47:43 +00:00