| module XA { |
| header "a.h" |
| } |
| |
| module XB { |
| module B { header "b.h" } |
| } |
| |
| module XC { |
| header "c.h" |
| use XA |
| // Intentionally doesn't use XB to show that -fdecl-use isn't transitive. |
| } |
| |
| module XD { |
| header "d.h" |
| use XA |
| // Intentionally doesn't use XB to show that -fdecl-use isn't transitive. |
| } |
| |
| module XE { |
| header "e.h" |
| use XA |
| use XB |
| } |
| |
| module XF { |
| header "f.h" |
| use XA |
| use XB |
| } |
| |
| module XG { |
| header "g.h" |
| header "g1.h" |
| use XC |
| use XE |
| use XJ |
| use XK |
| use XN |
| } |
| |
| module XH { |
| module H { header "h.h" } |
| header "h1.h" |
| header "s.h" |
| use XC |
| use XE |
| } |
| |
| module XJ { |
| header "j.h" |
| } |
| |
| module XK { |
| textual header "k.h" |
| } |
| |
| module XL { |
| textual header "l.h" |
| } |
| |
| module XM { |
| private textual header "m.h" |
| textual header "m2.h" |
| } |
| |
| module XN { |
| module sub { |
| header "sub.h" |
| } |
| } |
| |
| module XS { |
| } |