1module XA { 2 header "a.h" 3} 4 5module XB { 6 module B { header "b.h" } 7} 8 9module XC { 10 header "c.h" 11 use XA 12 // Intentionally doesn't use XB to show that -fdecl-use isn't transitive. 13} 14 15module XD { 16 header "d.h" 17 use XA 18 // Intentionally doesn't use XB to show that -fdecl-use isn't transitive. 19} 20 21module XE { 22 header "e.h" 23 header "unavailable.h" 24 use XA 25 use XB 26} 27 28module XF { 29 header "f.h" 30 header "unavailable.h" 31 use XA 32 use XB 33} 34 35module XG { 36 header "g.h" 37 header "g1.h" 38 use XC 39 use XE 40 use XJ 41 use XK 42 use XN 43} 44 45module XH { 46 module H { header "h.h" } 47 header "h1.h" 48 header "s.h" 49 use XC 50 use XE 51} 52 53module XJ { 54 header "j.h" 55} 56 57module XK { 58 textual header "k.h" 59} 60 61module XL { 62 textual header "l.h" 63} 64 65module XM { 66 private textual header "m.h" 67 textual header "m2.h" 68} 69 70module XN { 71 module sub { 72 header "sub.h" 73 } 74} 75 76module XS { 77} 78