summaryrefslogtreecommitdiff
path: root/lib/Basic/Module.cpp
diff options
context:
space:
mode:
authorBen Langmuir <blangmuir@apple.com>2014-04-18 22:07:31 +0000
committerBen Langmuir <blangmuir@apple.com>2014-04-18 22:07:31 +0000
commitb53460e9879f74be8f36cbc95209e628e9feecf3 (patch)
tree2a6f083aa0d9f88a5fad7e6253a5fb55f7a1ca6c /lib/Basic/Module.cpp
parent1c069a8d13cacf40bf3121f852f3647e82271ac9 (diff)
downloadclang-b53460e9879f74be8f36cbc95209e628e9feecf3.tar.gz
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206664 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Module.cpp')
-rw-r--r--lib/Basic/Module.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp
index d5c02d8405..6f29fae03a 100644
--- a/lib/Basic/Module.cpp
+++ b/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;