summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Modules')
-rw-r--r--clang/test/Modules/redecls/a.h3
-rw-r--r--clang/test/Modules/redecls/b.h1
-rw-r--r--clang/test/Modules/redecls/main.m27
-rw-r--r--clang/test/Modules/redecls/module.map2
4 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/Modules/redecls/a.h b/clang/test/Modules/redecls/a.h
new file mode 100644
index 00000000000..1647f86606a
--- /dev/null
+++ b/clang/test/Modules/redecls/a.h
@@ -0,0 +1,3 @@
+@interface AA
+@end
+@class AA;
diff --git a/clang/test/Modules/redecls/b.h b/clang/test/Modules/redecls/b.h
new file mode 100644
index 00000000000..d41573ddc78
--- /dev/null
+++ b/clang/test/Modules/redecls/b.h
@@ -0,0 +1 @@
+@class AA;
diff --git a/clang/test/Modules/redecls/main.m b/clang/test/Modules/redecls/main.m
new file mode 100644
index 00000000000..9ec02b03f2c
--- /dev/null
+++ b/clang/test/Modules/redecls/main.m
@@ -0,0 +1,27 @@
+// RUN: rm -rf %t.mcp
+// RUN: %clang_cc1 -fmodules -x objective-c -emit-module -fmodule-name=a %S/module.map -fmodules-cache-path=%t.mcp
+// RUN: %clang_cc1 -fmodules -x objective-c -emit-module -fmodule-name=b %S/module.map -fmodules-cache-path=%t.mcp
+// RUN: %clang_cc1 -fmodules %s -emit-pch -o %t1.pch -fmodules-cache-path=%t.mcp
+// RUN: %clang_cc1 -fmodules %s -emit-pch -o %t2.pch -include-pch %t1.pch -fmodules-cache-path=%t.mcp
+// RUN: %clang_cc1 -fmodules %s -fsyntax-only -include-pch %t2.pch -fmodules-cache-path=%t.mcp -verify
+
+#ifndef HEADER1
+#define HEADER1
+
+@import a;
+
+#elif !defined(HEADER2)
+#define HEADER2
+
+@class AA;
+@import b;
+
+#else
+
+// rdar://13712705
+@interface SS : AA
+@end
+
+#warning parsed this
+#endif
+// expected-warning@-2{{parsed this}}
diff --git a/clang/test/Modules/redecls/module.map b/clang/test/Modules/redecls/module.map
new file mode 100644
index 00000000000..a36568207b6
--- /dev/null
+++ b/clang/test/Modules/redecls/module.map
@@ -0,0 +1,2 @@
+module a { header "a.h" }
+module b { header "b.h" }
OpenPOWER on IntegriCloud