1*a171d248SMichael Spencermodule c_library [extern_c] { module inner { header "c-header.h" } } 2*a171d248SMichael Spencermodule cxx_library { header "cxx-header.h" requires cplusplus } 3*a171d248SMichael Spencermodule c_library_bad [extern_c] { header "c-header-bad.h" } 4*a171d248SMichael Spencermodule diamond_top { header "diamond_top.h" } 5*a171d248SMichael Spencermodule diamond_left { 6*a171d248SMichael Spencer header "diamond_left.h" 7*a171d248SMichael Spencer export diamond_top 8*a171d248SMichael Spencer} 9*a171d248SMichael Spencermodule diamond_right { 10*a171d248SMichael Spencer header "diamond_right.h" 11*a171d248SMichael Spencer export diamond_top 12*a171d248SMichael Spencer} 13*a171d248SMichael Spencermodule diamond_bottom { 14*a171d248SMichael Spencer header "diamond_bottom.h" 15*a171d248SMichael Spencer export * 16*a171d248SMichael Spencer} 17*a171d248SMichael Spencermodule irgen { header "irgen.h" } 18*a171d248SMichael Spencermodule cxx_irgen_top { header "cxx-irgen-top.h" } 19*a171d248SMichael Spencermodule cxx_irgen_left { header "cxx-irgen-left.h" } 20*a171d248SMichael Spencermodule cxx_irgen_right { header "cxx-irgen-right.h" } 21*a171d248SMichael Spencermodule lookup_left_objc { header "lookup_left.h" } 22*a171d248SMichael Spencermodule lookup_right_objc { header "lookup_right.h" } 23*a171d248SMichael Spencermodule lookup_left_cxx { header "lookup_left.hpp" } 24*a171d248SMichael Spencermodule lookup_right_cxx { header "lookup_right.hpp" } 25*a171d248SMichael Spencermodule module_private_left { header "module_private_left.h" } 26*a171d248SMichael Spencermodule module_private_right { header "module_private_right.h" } 27*a171d248SMichael Spencermodule macros_top { 28*a171d248SMichael Spencer header "macros_top.h" 29*a171d248SMichael Spencer explicit module b { header "macros_top_b.h" } 30*a171d248SMichael Spencer explicit module c { header "macros_top_c.h" } 31*a171d248SMichael Spencer} 32*a171d248SMichael Spencermodule macros_left { 33*a171d248SMichael Spencer header "macros_left.h" 34*a171d248SMichael Spencer export * 35*a171d248SMichael Spencer} 36*a171d248SMichael Spencermodule macros_right { 37*a171d248SMichael Spencer header "macros_right.h" 38*a171d248SMichael Spencer export * 39*a171d248SMichael Spencer explicit module undef { 40*a171d248SMichael Spencer header "macros_right_undef.h" 41*a171d248SMichael Spencer } 42*a171d248SMichael Spencer} 43*a171d248SMichael Spencermodule macros { header "macros.h" } 44*a171d248SMichael Spencermodule macros_other { header "macros_other.h" } 45*a171d248SMichael Spencermodule category_top { header "category_top.h" } 46*a171d248SMichael Spencermodule category_left { 47*a171d248SMichael Spencer header "category_left.h" 48*a171d248SMichael Spencer export category_top 49*a171d248SMichael Spencer 50*a171d248SMichael Spencer explicit module sub { 51*a171d248SMichael Spencer header "category_left_sub.h" 52*a171d248SMichael Spencer } 53*a171d248SMichael Spencer} 54*a171d248SMichael Spencermodule category_right { 55*a171d248SMichael Spencer header "category_right.h" 56*a171d248SMichael Spencer export category_top 57*a171d248SMichael Spencer 58*a171d248SMichael Spencer explicit module sub { 59*a171d248SMichael Spencer header "category_right_sub.h" 60*a171d248SMichael Spencer } 61*a171d248SMichael Spencer} 62*a171d248SMichael Spencermodule category_bottom { 63*a171d248SMichael Spencer header "category_bottom.h" 64*a171d248SMichael Spencer export category_left 65*a171d248SMichael Spencer export category_right 66*a171d248SMichael Spencer} 67*a171d248SMichael Spencermodule category_other { header "category_other.h" } 68*a171d248SMichael Spencermodule redeclarations_left { header "redeclarations_left.h" } 69*a171d248SMichael Spencermodule redeclarations_right { header "redeclarations_right.h" } 70*a171d248SMichael Spencermodule redecl_namespaces_left { header "redecl_namespaces_left.h" } 71*a171d248SMichael Spencermodule redecl_namespaces_right { header "redecl_namespaces_right.h" } 72*a171d248SMichael Spencermodule redecl_add_after_load_top { header "redecl-add-after-load-top.h" } 73*a171d248SMichael Spencermodule redecl_add_after_load { header "redecl-add-after-load.h" } 74*a171d248SMichael Spencermodule load_failure { header "load_failure.h" } 75*a171d248SMichael Spencer 76*a171d248SMichael Spencermodule decldef { 77*a171d248SMichael Spencer explicit module Decl { header "decl.h" } 78*a171d248SMichael Spencer explicit module Decl2 { header "decl2.h" } 79*a171d248SMichael Spencer explicit module Def { header "def.h" } 80*a171d248SMichael Spencer} 81*a171d248SMichael Spencer 82*a171d248SMichael Spencermodule redecl_merge_top { 83*a171d248SMichael Spencer header "redecl-merge-top.h" 84*a171d248SMichael Spencer explicit module Explicit { header "redecl-merge-top-explicit.h" } 85*a171d248SMichael Spencer exclude header "nonexistent.h" 86*a171d248SMichael Spencer} 87*a171d248SMichael Spencermodule redecl_merge_left { 88*a171d248SMichael Spencer header "redecl-merge-left.h" 89*a171d248SMichael Spencer export * 90*a171d248SMichael Spencer} 91*a171d248SMichael Spencermodule redecl_merge_left_left { 92*a171d248SMichael Spencer header "redecl-merge-left-left.h" 93*a171d248SMichael Spencer export * 94*a171d248SMichael Spencer} 95*a171d248SMichael Spencermodule redecl_merge_right { 96*a171d248SMichael Spencer header "redecl-merge-right.h" 97*a171d248SMichael Spencer export * 98*a171d248SMichael Spencer} 99*a171d248SMichael Spencermodule redecl_merge_bottom { 100*a171d248SMichael Spencer explicit module prefix { 101*a171d248SMichael Spencer header "redecl-merge-bottom-prefix.h" 102*a171d248SMichael Spencer } 103*a171d248SMichael Spencer 104*a171d248SMichael Spencer header "redecl-merge-bottom.h" 105*a171d248SMichael Spencer export * 106*a171d248SMichael Spencer} 107*a171d248SMichael Spencermodule namespaces_top { 108*a171d248SMichael Spencer header "namespaces-top.h" 109*a171d248SMichael Spencer export * 110*a171d248SMichael Spencer} 111*a171d248SMichael Spencermodule namespaces_left { 112*a171d248SMichael Spencer header "namespaces-left.h" 113*a171d248SMichael Spencer export * 114*a171d248SMichael Spencer} 115*a171d248SMichael Spencermodule namespaces_right { 116*a171d248SMichael Spencer header "namespaces-right.h" 117*a171d248SMichael Spencer export * 118*a171d248SMichael Spencer} 119*a171d248SMichael Spencermodule templates_top { 120*a171d248SMichael Spencer header "templates-top.h" 121*a171d248SMichael Spencer export * 122*a171d248SMichael Spencer} 123*a171d248SMichael Spencermodule templates_left { 124*a171d248SMichael Spencer header "templates-left.h" 125*a171d248SMichael Spencer export * 126*a171d248SMichael Spencer} 127*a171d248SMichael Spencermodule templates_right { 128*a171d248SMichael Spencer header "templates-right.h" 129*a171d248SMichael Spencer export * 130*a171d248SMichael Spencer} 131*a171d248SMichael Spencermodule MethodPoolA { 132*a171d248SMichael Spencer header "MethodPoolA.h" 133*a171d248SMichael Spencer 134*a171d248SMichael Spencer explicit module Sub2 { 135*a171d248SMichael Spencer header "MethodPoolASub2.h" 136*a171d248SMichael Spencer } 137*a171d248SMichael Spencer 138*a171d248SMichael Spencer explicit module Sub { 139*a171d248SMichael Spencer header "MethodPoolASub.h" 140*a171d248SMichael Spencer } 141*a171d248SMichael Spencer} 142*a171d248SMichael Spencermodule MethodPoolB { 143*a171d248SMichael Spencer header "MethodPoolB.h" 144*a171d248SMichael Spencer 145*a171d248SMichael Spencer explicit module Sub2 { 146*a171d248SMichael Spencer header "MethodPoolBSub2.h" 147*a171d248SMichael Spencer } 148*a171d248SMichael Spencer 149*a171d248SMichael Spencer explicit module Sub { 150*a171d248SMichael Spencer header "MethodPoolBSub.h" 151*a171d248SMichael Spencer } 152*a171d248SMichael Spencer} 153*a171d248SMichael Spencermodule import_decl { 154*a171d248SMichael Spencer header "import-decl.h" 155*a171d248SMichael Spencer} 156*a171d248SMichael Spencer 157*a171d248SMichael Spencerframework module * { 158*a171d248SMichael Spencer exclude NotAModule 159*a171d248SMichael Spencer} 160*a171d248SMichael Spencer 161*a171d248SMichael Spencermodule linkage_merge_left { 162*a171d248SMichael Spencer explicit module sub { 163*a171d248SMichael Spencer header "linkage-merge-sub.h" 164*a171d248SMichael Spencer } 165*a171d248SMichael Spencer} 166*a171d248SMichael Spencer 167*a171d248SMichael Spencermodule autolink { 168*a171d248SMichael Spencer header "autolink.h" 169*a171d248SMichael Spencer link "autolink" 170*a171d248SMichael Spencer 171*a171d248SMichael Spencer explicit module sub { 172*a171d248SMichael Spencer header "autolink-sub.h" 173*a171d248SMichael Spencer link "autolink_sub" 174*a171d248SMichael Spencer } 175*a171d248SMichael Spencer 176*a171d248SMichael Spencer explicit module sub2 { 177*a171d248SMichael Spencer header "autolink-sub2.h" 178*a171d248SMichael Spencer link framework "autolink_framework" 179*a171d248SMichael Spencer } 180*a171d248SMichael Spencer 181*a171d248SMichael Spencer explicit module sub3 { 182*a171d248SMichael Spencer header "autolink-sub3.h" 183*a171d248SMichael Spencer link "autolink_from_pch" 184*a171d248SMichael Spencer } 185*a171d248SMichael Spencer} 186*a171d248SMichael Spencer 187*a171d248SMichael Spencermodule weird_objc { 188*a171d248SMichael Spencer header "weird_objc.h" 189*a171d248SMichael Spencer} 190*a171d248SMichael Spencer 191*a171d248SMichael Spencermodule ignored_macros { 192*a171d248SMichael Spencer header "ignored_macros.h" 193*a171d248SMichael Spencer} 194*a171d248SMichael Spencer 195*a171d248SMichael Spencermodule cxx_many_overloads { 196*a171d248SMichael Spencer header "cxx-many-overloads.h" 197*a171d248SMichael Spencer} 198*a171d248SMichael Spencer 199*a171d248SMichael Spencermodule cxx_inline_namespace { 200*a171d248SMichael Spencer header "cxx-inline-namespace.h" 201*a171d248SMichael Spencer} 202*a171d248SMichael Spencer 203*a171d248SMichael Spencermodule cxx_inline_namespace_b { 204*a171d248SMichael Spencer header "cxx-inline-namespace-b.h" 205*a171d248SMichael Spencer} 206*a171d248SMichael Spencer 207*a171d248SMichael Spencermodule cxx_linkage_cache { 208*a171d248SMichael Spencer header "cxx-linkage-cache.h" 209*a171d248SMichael Spencer} 210*a171d248SMichael Spencer 211*a171d248SMichael Spencermodule cxx_templates_common { 212*a171d248SMichael Spencer header "cxx-templates-common.h" 213*a171d248SMichael Spencer} 214*a171d248SMichael Spencer 215*a171d248SMichael Spencermodule cxx_templates_a { 216*a171d248SMichael Spencer header "cxx-templates-a.h" 217*a171d248SMichael Spencer} 218*a171d248SMichael Spencer 219*a171d248SMichael Spencermodule cxx_templates_b_impl { 220*a171d248SMichael Spencer header "cxx-templates-b-impl.h" 221*a171d248SMichael Spencer} 222*a171d248SMichael Spencer 223*a171d248SMichael Spencermodule cxx_templates_b { 224*a171d248SMichael Spencer header "cxx-templates-b.h" 225*a171d248SMichael Spencer} 226*a171d248SMichael Spencer 227*a171d248SMichael Spencermodule cxx_templates_c { 228*a171d248SMichael Spencer header "cxx-templates-c.h" 229*a171d248SMichael Spencer} 230*a171d248SMichael Spencer 231*a171d248SMichael Spencermodule cxx_decls { 232*a171d248SMichael Spencer module unimported { 233*a171d248SMichael Spencer header "cxx-decls-unimported.h" 234*a171d248SMichael Spencer } 235*a171d248SMichael Spencer module imported { 236*a171d248SMichael Spencer header "cxx-decls-imported.h" 237*a171d248SMichael Spencer } 238*a171d248SMichael Spencer} 239*a171d248SMichael Spencer 240*a171d248SMichael Spencermodule config { 241*a171d248SMichael Spencer header "config.h" 242*a171d248SMichael Spencer config_macros [exhaustive] WANT_FOO, WANT_BAR 243*a171d248SMichael Spencer} 244*a171d248SMichael Spencer 245*a171d248SMichael Spencermodule diag_pragma { 246*a171d248SMichael Spencer header "diag_pragma.h" 247*a171d248SMichael Spencer} 248*a171d248SMichael Spencer 249*a171d248SMichael Spencermodule dummy { 250*a171d248SMichael Spencer header "dummy.h" 251*a171d248SMichael Spencer} 252*a171d248SMichael Spencer 253*a171d248SMichael Spencermodule builtin { 254*a171d248SMichael Spencer header "builtin.h" 255*a171d248SMichael Spencer explicit module sub { 256*a171d248SMichael Spencer header "builtin_sub.h" 257*a171d248SMichael Spencer } 258*a171d248SMichael Spencer} 259*a171d248SMichael Spencer 260*a171d248SMichael Spencermodule linkage_merge { 261*a171d248SMichael Spencer explicit module foo { 262*a171d248SMichael Spencer header "linkage-merge-foo.h" 263*a171d248SMichael Spencer } 264*a171d248SMichael Spencer explicit module bar { 265*a171d248SMichael Spencer header "linkage-merge-bar.h" 266*a171d248SMichael Spencer } 267*a171d248SMichael Spencer 268*a171d248SMichael Spencer} 269*a171d248SMichael Spencer 270*a171d248SMichael Spencermodule incomplete_mod { 271*a171d248SMichael Spencer header "incomplete_mod.h" 272*a171d248SMichael Spencer} 273*a171d248SMichael Spencer 274*a171d248SMichael Spencermodule warning { 275*a171d248SMichael Spencer header "warning.h" 276*a171d248SMichael Spencer} 277*a171d248SMichael Spencer 278*a171d248SMichael Spencermodule initializer_list { 279*a171d248SMichael Spencer header "initializer_list" 280*a171d248SMichael Spencer} 281*a171d248SMichael Spencer 282*a171d248SMichael Spencermodule using_decl { 283*a171d248SMichael Spencer module a { header "using-decl-a.h" export * } 284*a171d248SMichael Spencer module b { header "using-decl-b.h" export * } 285*a171d248SMichael Spencer} 286*a171d248SMichael Spencer 287*a171d248SMichael Spencermodule recursive_visibility_a1 { 288*a171d248SMichael Spencer module inner { header "recursive_visibility_a1_inner.h" } 289*a171d248SMichael Spencer} 290*a171d248SMichael Spencermodule recursive_visibility_a2 { 291*a171d248SMichael Spencer module inner { 292*a171d248SMichael Spencer module more_inner { 293*a171d248SMichael Spencer header "recursive_visibility_a2_more_inner.h" 294*a171d248SMichael Spencer } 295*a171d248SMichael Spencer } 296*a171d248SMichael Spencer} 297*a171d248SMichael Spencermodule recursive_visibility_b { 298*a171d248SMichael Spencer header "recursive_visibility_b.h" 299*a171d248SMichael Spencer export * 300*a171d248SMichael Spencer} 301*a171d248SMichael Spencermodule recursive_visibility_c { 302*a171d248SMichael Spencer header "recursive_visibility_c.h" 303*a171d248SMichael Spencer} 304*a171d248SMichael Spencermodule recursive1 { 305*a171d248SMichael Spencer header "recursive1.h" 306*a171d248SMichael Spencer} 307*a171d248SMichael Spencermodule recursive2 { 308*a171d248SMichael Spencer header "recursive2.h" 309*a171d248SMichael Spencer} 310