1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=1 3 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I%S/Inputs/merge-template-members -verify -emit-llvm-only %s -DTEST=2 4 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -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 28