diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Modules/Inputs/submodules-merge-defs/defs.h | 1 | ||||
-rw-r--r-- | clang/test/Modules/submodules-merge-defs.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/submodules-merge-defs/defs.h b/clang/test/Modules/Inputs/submodules-merge-defs/defs.h index 1ab1d1a005b..44259463a10 100644 --- a/clang/test/Modules/Inputs/submodules-merge-defs/defs.h +++ b/clang/test/Modules/Inputs/submodules-merge-defs/defs.h @@ -46,6 +46,7 @@ namespace G { template<typename T = int, int N = 3, template<typename> class K = F> int H(int a = 1); template<typename T = int, int N = 3, template<typename> class K = F> using I = decltype(H<T, N, K>()); +template<typename T = int, int N = 3, template<typename> class K = F> struct J {}; namespace NS { struct A {}; diff --git a/clang/test/Modules/submodules-merge-defs.cpp b/clang/test/Modules/submodules-merge-defs.cpp index 6884f56ce7d..e7c0ad7f0c1 100644 --- a/clang/test/Modules/submodules-merge-defs.cpp +++ b/clang/test/Modules/submodules-merge-defs.cpp @@ -40,6 +40,9 @@ int pre_ff = F<int>().f(); // expected-error +{{must be imported}} int pre_fg = F<int>().g<int>(); // expected-error +{{must be imported}} // expected-note@defs.h:26 +{{here}} +J<> pre_j; // expected-error {{must be imported}} expected-error {{too few}} +// expected-note@defs.h:49 +{{here}} + // Make definitions from second module visible. #ifdef TEXTUAL #include "import-and-redefine.h" @@ -65,3 +68,6 @@ int post_fg = F<char>().g<int>(); // expected-error@-5 {{no matching member function}} // expected-note@defs.h:34 {{substitution failure}} #endif +J<> post_j; +template<typename T, int N, template<typename> class K> struct J; +J<> post_j2; |