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 {
}
module Textual {
textual header "textual.h"
}