1 // RUN: %clang_cc1 -fmodules %s -verify 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 namespace N { 9 class X; 10 } 11 #pragma clang module end 12 #pragma clang module endbuild 13 14 #pragma clang module build B 15 module B { 16 module X {} 17 module Y {} 18 } 19 #pragma clang module contents 20 #pragma clang module begin B.X 21 namespace N { 22 class Friendly { 23 friend class X; 24 }; 25 } 26 #pragma clang module end 27 #pragma clang module begin B.Y 28 namespace N { 29 class X; 30 } 31 #pragma clang module end 32 #pragma clang module endbuild 33 34 #pragma clang module import A 35 #pragma clang module import B.X 36 using N::X; 37 X *p; 38