1 // RUN: %clang_cc1 -std=c++17 -fmodules -verify %s 2 // expected-no-diagnostics 3 4 #pragma clang module build A 5 module A {} 6 #pragma clang module contents 7 #pragma clang module begin A 8 template<int*> struct X {}; get()9auto get() { static int n; return X<&n>(); } 10 using A = decltype(get()); 11 #pragma clang module end 12 #pragma clang module endbuild 13 14 #pragma clang module build B 15 module B {} 16 #pragma clang module contents 17 #pragma clang module begin B 18 template<int*> struct X {}; get()19auto get() { static int n; return X<&n>(); } 20 using B = decltype(get()); 21 #pragma clang module end 22 #pragma clang module endbuild 23 24 #pragma clang module import A 25 #pragma clang module import B 26 using T = A; 27 using T = B; 28