summaryrefslogtreecommitdiffstats
path: root/test/Modules/Inputs/merge-nested-templates
diff options
context:
space:
mode:
Diffstat (limited to 'test/Modules/Inputs/merge-nested-templates')
-rw-r--r--test/Modules/Inputs/merge-nested-templates/a.h1
-rw-r--r--test/Modules/Inputs/merge-nested-templates/b.h2
-rw-r--r--test/Modules/Inputs/merge-nested-templates/c.h3
-rw-r--r--test/Modules/Inputs/merge-nested-templates/module.modulemap3
-rw-r--r--test/Modules/Inputs/merge-nested-templates/string.ii14
5 files changed, 23 insertions, 0 deletions
diff --git a/test/Modules/Inputs/merge-nested-templates/a.h b/test/Modules/Inputs/merge-nested-templates/a.h
new file mode 100644
index 0000000..826d257
--- /dev/null
+++ b/test/Modules/Inputs/merge-nested-templates/a.h
@@ -0,0 +1 @@
+#include "string.ii"
diff --git a/test/Modules/Inputs/merge-nested-templates/b.h b/test/Modules/Inputs/merge-nested-templates/b.h
new file mode 100644
index 0000000..516694e
--- /dev/null
+++ b/test/Modules/Inputs/merge-nested-templates/b.h
@@ -0,0 +1,2 @@
+#include "a.h"
+std::wstring::iterator j;
diff --git a/test/Modules/Inputs/merge-nested-templates/c.h b/test/Modules/Inputs/merge-nested-templates/c.h
new file mode 100644
index 0000000..ab95e14
--- /dev/null
+++ b/test/Modules/Inputs/merge-nested-templates/c.h
@@ -0,0 +1,3 @@
+#include "string.ii"
+std::wstring::iterator i;
+#include "b.h"
diff --git a/test/Modules/Inputs/merge-nested-templates/module.modulemap b/test/Modules/Inputs/merge-nested-templates/module.modulemap
new file mode 100644
index 0000000..77e0a89
--- /dev/null
+++ b/test/Modules/Inputs/merge-nested-templates/module.modulemap
@@ -0,0 +1,3 @@
+module a { header "a.h" export * }
+module b { header "b.h" export * }
+module c { header "c.h" export * }
diff --git a/test/Modules/Inputs/merge-nested-templates/string.ii b/test/Modules/Inputs/merge-nested-templates/string.ii
new file mode 100644
index 0000000..136d8e7
--- /dev/null
+++ b/test/Modules/Inputs/merge-nested-templates/string.ii
@@ -0,0 +1,14 @@
+namespace std {
+ template <typename, typename Container> struct normal_iterator {
+ normal_iterator() {}
+
+ template <typename I>
+ normal_iterator(normal_iterator<I, typename Container::iterator>) {}
+ };
+
+ template <typename pointer> struct basic_string {
+ typedef normal_iterator<pointer, basic_string> iterator;
+ };
+
+ typedef basic_string<wchar_t *> wstring;
+}
OpenPOWER on IntegriCloud