summaryrefslogtreecommitdiffstats
path: root/test/Modules/missing-header.m
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 /test/Modules/missing-header.m
parent1c069a8d13cacf40bf3121f852f3647e82271ac9 (diff)
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 'test/Modules/missing-header.m')
-rw-r--r--test/Modules/missing-header.m13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Modules/missing-header.m b/test/Modules/missing-header.m
new file mode 100644
index 0000000000..c2c1673ac5
--- /dev/null
+++ b/test/Modules/missing-header.m
@@ -0,0 +1,13 @@
+// RUN: rm -rf %t
+// RUN: not %clang_cc1 -x objective-c -fmodules-cache-path=%t -fmodules -I %S/Inputs/submodules %s 2>&1 | FileCheck %s
+
+// FIXME: cannot use -verify, because the error from inside the module build has
+// a different source manager than the verifier.
+
+@import missing_unavailable_headers; // OK
+@import missing_unavailable_headers.not_missing; // OK
+// CHECK-NOT: missing_unavailable_headers
+
+@import missing_headers;
+// CHECK: module.map:15:27: error: header 'missing.h' not found
+// CHECK: could not build module 'missing_headers'