1 // RUN: %clang_cc1 -std=c++17 -fsyntax-only -fmodules %s
2 
3 #pragma clang module build a
4 module a {}
5 #pragma clang module contents
6 #pragma clang module begin a
7 
8 template <class c, c e> struct ak { static constexpr c value = e; };
9 ak<bool, true> instantiate_class_definition;
10 
11 #pragma clang module end /* a */
12 #pragma clang module endbuild
13 
14 
15 #pragma clang module build o
16 module o {}
17 #pragma clang module contents
18 #pragma clang module begin o
19 #pragma clang module import a
20 
21 inline int instantiate_var_definition() { return ak<bool, true>::value; }
22 
23 #pragma clang module end
24 #pragma clang module endbuild
25 
26 
27 #pragma clang module import o
28 #pragma clang module import a
29 
main()30 int main() { return ak<bool, true>::value; }
31