diff options
Diffstat (limited to 'test/Modules/merge-template-members.cpp')
| -rw-r--r-- | test/Modules/merge-template-members.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/Modules/merge-template-members.cpp b/test/Modules/merge-template-members.cpp new file mode 100644 index 000000000000..1fdaa9c29be2 --- /dev/null +++ b/test/Modules/merge-template-members.cpp @@ -0,0 +1,27 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=1 +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=2 +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=3 +// expected-no-diagnostics + +#if TEST == 1 + +template<typename> struct A { int n; }; +template<typename> struct B { typedef A<void> C; }; +template class B<int>; + +#include "update.h" +B<int>::C use2; + +#elif TEST == 2 + +#include "c.h" +N::A<int> ai; + +#elif TEST == 3 + +#include "merge.h" + +#else +#error Unknown test +#endif |
