diff options
Diffstat (limited to 'clang/test/Modules/Inputs')
5 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/merge-nested-templates/a.h b/clang/test/Modules/Inputs/merge-nested-templates/a.h new file mode 100644 index 00000000000..826d2571fd1 --- /dev/null +++ b/clang/test/Modules/Inputs/merge-nested-templates/a.h @@ -0,0 +1 @@ +#include "string.ii" diff --git a/clang/test/Modules/Inputs/merge-nested-templates/b.h b/clang/test/Modules/Inputs/merge-nested-templates/b.h new file mode 100644 index 00000000000..516694e38e9 --- /dev/null +++ b/clang/test/Modules/Inputs/merge-nested-templates/b.h @@ -0,0 +1,2 @@ +#include "a.h" +std::wstring::iterator j; diff --git a/clang/test/Modules/Inputs/merge-nested-templates/c.h b/clang/test/Modules/Inputs/merge-nested-templates/c.h new file mode 100644 index 00000000000..ab95e145ef5 --- /dev/null +++ b/clang/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/clang/test/Modules/Inputs/merge-nested-templates/module.modulemap b/clang/test/Modules/Inputs/merge-nested-templates/module.modulemap new file mode 100644 index 00000000000..77e0a89e39a --- /dev/null +++ b/clang/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/clang/test/Modules/Inputs/merge-nested-templates/string.ii b/clang/test/Modules/Inputs/merge-nested-templates/string.ii new file mode 100644 index 00000000000..136d8e70083 --- /dev/null +++ b/clang/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; +} |

