Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame^] | 1 | // RUN: rm -rf %t |
| 2 | // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=1 |
| 3 | // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=2 |
| 4 | // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=3 |
| 5 | // expected-no-diagnostics |
| 6 | |
| 7 | #if TEST == 1 |
| 8 | |
| 9 | template<typename> struct A { int n; }; |
| 10 | template<typename> struct B { typedef A<void> C; }; |
| 11 | template class B<int>; |
| 12 | |
| 13 | #include "update.h" |
| 14 | B<int>::C use2; |
| 15 | |
| 16 | #elif TEST == 2 |
| 17 | |
| 18 | #include "c.h" |
| 19 | N::A<int> ai; |
| 20 | |
| 21 | #elif TEST == 3 |
| 22 | |
| 23 | #include "merge.h" |
| 24 | |
| 25 | #else |
| 26 | #error Unknown test |
| 27 | #endif |