brintos

brintos / llvm-project-archived public Read only

0
0
Text · 668 B · 97ec726 Raw
26 lines · cpp
1// RUN: %clang_cc1 -x c++-module-map -fmodule-name=A -verify %s -fmodules-local-submodule-visibility2module A { module B {} module C {} }3 4#pragma clang module contents5 6#pragma clang module begin A.B7extern "C++" {8  #pragma clang module begin A.C9  template<typename T> void f(T t);10  #pragma clang module end11 12  void g() { f(0); } // ok13}14 15extern "C++" {16  #pragma clang module begin A.C17  } // expected-error {{extraneous closing brace}}18  #pragma clang module end19  20  #pragma clang module begin A.C21  extern "C++" { // expected-note {{to match this '{'}}22  #pragma clang module end // expected-error {{expected '}' at end of module}}23}24 25#pragma clang module end26