diff options
author | Ben Langmuir <blangmuir@apple.com> | 2014-04-18 22:07:31 +0000 |
---|---|---|
committer | Ben Langmuir <blangmuir@apple.com> | 2014-04-18 22:07:31 +0000 |
commit | ec8c975214ceb9f59301e2abcd084fcdff06fbcd (patch) | |
tree | 52c5c5952a7ba7061df3421293c7679fa5a32193 /clang/lib/Basic/Module.cpp | |
parent | b5d368e838934c1347063a20302acb0afea5f3ab (diff) | |
download | llvm-ec8c975214ceb9f59301e2abcd084fcdff06fbcd.zip llvm-ec8c975214ceb9f59301e2abcd084fcdff06fbcd.tar.gz llvm-ec8c975214ceb9f59301e2abcd084fcdff06fbcd.tar.bz2 |
Don't build modules with (submodules with) missing headers
Unless they are in submodules that aren't available anyway, due to
requirements not being met. Also, mark children as unavailable when the
parent is.
llvm-svn: 206664
Diffstat (limited to 'clang/lib/Basic/Module.cpp')
-rw-r--r-- | clang/lib/Basic/Module.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Basic/Module.cpp b/clang/lib/Basic/Module.cpp index d5c02d8..6f29fae 100644 --- a/clang/lib/Basic/Module.cpp +++ b/clang/lib/Basic/Module.cpp @@ -160,6 +160,11 @@ void Module::addRequirement(StringRef Feature, bool RequiredState, if (hasFeature(Feature, LangOpts, Target) == RequiredState) return; + IsMissingRequirement = true; + markUnavailable(); +} + +void Module::markUnavailable() { if (!IsAvailable) return; |