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