diff options
Diffstat (limited to 'test/Modules/Inputs/merge-nested-templates')
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; +} |