1*a544c51eSRichard Smith // RUN: %clang_cc1 -fmodules -fmodules-local-submodule-visibility -verify %s 2*a544c51eSRichard Smith // expected-no-diagnostics 3*a544c51eSRichard Smith #pragma clang module build M 4*a544c51eSRichard Smith module M { module TDFNodes {} module TDFInterface {} } 5*a544c51eSRichard Smith #pragma clang module contents 6*a544c51eSRichard Smith // TDFNodes 7*a544c51eSRichard Smith #pragma clang module begin M.TDFNodes 8*a544c51eSRichard Smith namespace Detail { 9*a544c51eSRichard Smith namespace TDF { 10*a544c51eSRichard Smith class TLoopManager {}; 11*a544c51eSRichard Smith } 12*a544c51eSRichard Smith } 13*a544c51eSRichard Smith namespace Internal { 14*a544c51eSRichard Smith namespace TDF { 15*a544c51eSRichard Smith using namespace Detail::TDF; 16*a544c51eSRichard Smith } 17*a544c51eSRichard Smith } 18*a544c51eSRichard Smith #pragma clang module end 19*a544c51eSRichard Smith 20*a544c51eSRichard Smith // TDFInterface 21*a544c51eSRichard Smith #pragma clang module begin M.TDFInterface 22*a544c51eSRichard Smith #pragma clang module import M.TDFNodes 23*a544c51eSRichard Smith namespace Internal { 24*a544c51eSRichard Smith namespace TDF { 25*a544c51eSRichard Smith using namespace Detail::TDF; 26*a544c51eSRichard Smith } 27*a544c51eSRichard Smith } 28*a544c51eSRichard Smith #pragma clang module end 29*a544c51eSRichard Smith 30*a544c51eSRichard Smith #pragma clang module endbuild 31*a544c51eSRichard Smith 32*a544c51eSRichard Smith #pragma clang module import M.TDFNodes 33*a544c51eSRichard Smith namespace Internal { 34*a544c51eSRichard Smith namespace TDF { 35*a544c51eSRichard Smith TLoopManager * use; 36*a544c51eSRichard Smith } 37*a544c51eSRichard Smith } 38