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 use XA 24 use XB 25 } 26 27 module XF { 28 header "f.h" 29 use XA 30 use XB 31 } 32 33 module XG { 34 header "g.h" 35 header "g1.h" 36 use XC 37 use XE 38 use XJ 39 use XK 40 use XN 41 } 42 43 module XH { 44 module H { header "h.h" } 45 header "h1.h" 46 header "s.h" 47 use XC 48 use XE 49 } 50 51 module XJ { 52 header "j.h" 53 } 54 55 module XK { 56 textual header "k.h" 57 } 58 59 module XL { 60 textual header "l.h" 61 } 62 63 module XM { 64 private textual header "m.h" 65 textual header "m2.h" 66 } 67 68 module XN { 69 module sub { 70 header "sub.h" 71 } 72 } 73 74 module XS { 75 } 76