summaryrefslogtreecommitdiffstats
path: root/clang/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
commitec8c975214ceb9f59301e2abcd084fcdff06fbcd (patch)
tree52c5c5952a7ba7061df3421293c7679fa5a32193 /clang/lib/Basic/Module.cpp
parentb5d368e838934c1347063a20302acb0afea5f3ab (diff)
downloadbcm5719-llvm-ec8c975214ceb9f59301e2abcd084fcdff06fbcd.tar.gz
bcm5719-llvm-ec8c975214ceb9f59301e2abcd084fcdff06fbcd.zip
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.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Basic/Module.cpp b/clang/lib/Basic/Module.cpp
index d5c02d84058..6f29fae03a5 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;
OpenPOWER on IntegriCloud