1 module XA { 2 header "a.h" 3 } 4 5 module XB { 6 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 } 42 43 module XH { 44 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 XS { 56 } 57