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