134dc4811SDaniel Jaspermodule XA {
234dc4811SDaniel Jasper  header "a.h"
334dc4811SDaniel Jasper}
434dc4811SDaniel Jasper
534dc4811SDaniel Jaspermodule XB {
6*8f4d3ff1SRichard Smith  module B { header "b.h" }
734dc4811SDaniel Jasper}
834dc4811SDaniel Jasper
934dc4811SDaniel Jaspermodule XC {
1034dc4811SDaniel Jasper  header "c.h"
1134dc4811SDaniel Jasper  use XA
1234dc4811SDaniel Jasper  // Intentionally doesn't use XB to show that -fdecl-use isn't transitive.
1334dc4811SDaniel Jasper}
1434dc4811SDaniel Jasper
1534dc4811SDaniel Jaspermodule XD {
1634dc4811SDaniel Jasper  header "d.h"
1734dc4811SDaniel Jasper  use XA
1834dc4811SDaniel Jasper  // Intentionally doesn't use XB to show that -fdecl-use isn't transitive.
1934dc4811SDaniel Jasper}
2034dc4811SDaniel Jasper
2134dc4811SDaniel Jaspermodule XE {
2234dc4811SDaniel Jasper  header "e.h"
2334dc4811SDaniel Jasper  use XA
2434dc4811SDaniel Jasper  use XB
2534dc4811SDaniel Jasper}
2634dc4811SDaniel Jasper
2734dc4811SDaniel Jaspermodule XF {
2834dc4811SDaniel Jasper  header "f.h"
2934dc4811SDaniel Jasper  use XA
3034dc4811SDaniel Jasper  use XB
3134dc4811SDaniel Jasper}
3234dc4811SDaniel Jasper
3334dc4811SDaniel Jaspermodule XG {
3434dc4811SDaniel Jasper  header "g.h"
3534dc4811SDaniel Jasper  header "g1.h"
3634dc4811SDaniel Jasper  use XC
3734dc4811SDaniel Jasper  use XE
3898a9a6c6SManuel Klimek  use XJ
39306d8920SRichard Smith  use XK
40b6ba46efSDaniel Jasper  use XN
4134dc4811SDaniel Jasper}
4234dc4811SDaniel Jasper
4334dc4811SDaniel Jaspermodule XH {
44*8f4d3ff1SRichard Smith  module H { header "h.h" }
4534dc4811SDaniel Jasper  header "h1.h"
465c77e39fSDaniel Jasper  header "s.h"
4734dc4811SDaniel Jasper  use XC
4834dc4811SDaniel Jasper  use XE
4934dc4811SDaniel Jasper}
505c77e39fSDaniel Jasper
5198a9a6c6SManuel Klimekmodule XJ {
5298a9a6c6SManuel Klimek  header "j.h"
5398a9a6c6SManuel Klimek}
5498a9a6c6SManuel Klimek
55306d8920SRichard Smithmodule XK {
56306d8920SRichard Smith  textual header "k.h"
57306d8920SRichard Smith}
58306d8920SRichard Smith
59306d8920SRichard Smithmodule XL {
60306d8920SRichard Smith  textual header "l.h"
61306d8920SRichard Smith}
62306d8920SRichard Smith
63202210b3SRichard Smithmodule XM {
64202210b3SRichard Smith  private textual header "m.h"
65202210b3SRichard Smith  textual header "m2.h"
66202210b3SRichard Smith}
67202210b3SRichard Smith
68b6ba46efSDaniel Jaspermodule XN {
69b6ba46efSDaniel Jasper  module sub {
70b6ba46efSDaniel Jasper    header "sub.h"
71b6ba46efSDaniel Jasper  }
72b6ba46efSDaniel Jasper}
73b6ba46efSDaniel Jasper
745c77e39fSDaniel Jaspermodule XS {
755c77e39fSDaniel Jasper}
76