1 // RUN: %clang_cc1 -x c++-module-map -fmodule-name=A -verify %s -fmodules-local-submodule-visibility
2 module A
{ module B
{} module C
{} }
4 #pragma clang module contents
6 #pragma clang module begin A.B
8 #pragma clang module begin A.C
9 template<typename T
> void f(T t
);
10 #pragma clang module end
12 void g() { f(0); } // ok
16 #pragma clang module begin A.C
17 } // expected-error {{extraneous closing brace}}
18 #pragma clang module end
20 #pragma clang module begin A.C
21 extern "C++" { // expected-note {{to match this '{'}}
22 #pragma clang module end // expected-error {{expected '}' at end of module}}
25 #pragma clang module end