|  | module c_library [extern_c] { module inner { header "c-header.h" } } | 
|  | module cxx_library { header "cxx-header.h" requires cplusplus } | 
|  | module c_library_bad [extern_c] { header "c-header-bad.h" } | 
|  | module diamond_top { header "diamond_top.h" } | 
|  | module diamond_left { | 
|  | header "diamond_left.h" | 
|  | export diamond_top | 
|  | } | 
|  | module diamond_right { | 
|  | header "diamond_right.h" | 
|  | export diamond_top | 
|  | } | 
|  | module diamond_bottom { | 
|  | header "diamond_bottom.h" | 
|  | export * | 
|  | } | 
|  | module irgen { header "irgen.h" } | 
|  | module cxx_irgen_top { header "cxx-irgen-top.h" } | 
|  | module cxx_irgen_left { header "cxx-irgen-left.h" } | 
|  | module cxx_irgen_right { header "cxx-irgen-right.h" } | 
|  | module lookup_left_objc { header "lookup_left.h" } | 
|  | module lookup_right_objc { header "lookup_right.h" } | 
|  | module lookup_left_cxx { header "lookup_left.hpp" } | 
|  | module lookup_right_cxx { header "lookup_right.hpp" } | 
|  | module module_private_left { header "module_private_left.h" } | 
|  | module module_private_right { header "module_private_right.h" } | 
|  | module macros_top { | 
|  | header "macros_top.h" | 
|  | explicit module b { header "macros_top_b.h" } | 
|  | explicit module c { header "macros_top_c.h" } | 
|  | } | 
|  | module macros_left { | 
|  | header "macros_left.h" | 
|  | export * | 
|  | } | 
|  | module macros_right { | 
|  | header "macros_right.h" | 
|  | export * | 
|  | explicit module undef { | 
|  | header "macros_right_undef.h" | 
|  | } | 
|  | } | 
|  | module macros { header "macros.h" } | 
|  | module macros_other { header "macros_other.h" } | 
|  | module category_top { header "category_top.h" } | 
|  | module category_left { | 
|  | header "category_left.h" | 
|  | export category_top | 
|  |  | 
|  | explicit module sub { | 
|  | header "category_left_sub.h" | 
|  | } | 
|  | } | 
|  | module category_right { | 
|  | header "category_right.h" | 
|  | export category_top | 
|  |  | 
|  | explicit module sub { | 
|  | header "category_right_sub.h" | 
|  | } | 
|  | } | 
|  | module category_bottom { | 
|  | header "category_bottom.h" | 
|  | export category_left | 
|  | export category_right | 
|  | } | 
|  | module category_other { header "category_other.h" } | 
|  | module redeclarations_left { header "redeclarations_left.h" } | 
|  | module redeclarations_right { header "redeclarations_right.h" } | 
|  | module redecl_namespaces_left { header "redecl_namespaces_left.h" } | 
|  | module redecl_namespaces_right { header "redecl_namespaces_right.h" } | 
|  | module redecl_add_after_load_top { header "redecl-add-after-load-top.h" } | 
|  | module redecl_add_after_load { header "redecl-add-after-load.h" } | 
|  | module load_failure { header "load_failure.h" } | 
|  |  | 
|  | module decldef { | 
|  | explicit module Decl { header "decl.h" } | 
|  | explicit module Decl2 { header "decl2.h" } | 
|  | explicit module Def { header "def.h" } | 
|  | } | 
|  |  | 
|  | module redecl_merge_top { | 
|  | header "redecl-merge-top.h" | 
|  | explicit module Explicit { header "redecl-merge-top-explicit.h" } | 
|  | exclude header "nonexistent.h" | 
|  | } | 
|  | module redecl_merge_left { | 
|  | header "redecl-merge-left.h" | 
|  | export * | 
|  | } | 
|  | module redecl_merge_left_left { | 
|  | header "redecl-merge-left-left.h" | 
|  | export * | 
|  | } | 
|  | module redecl_merge_right { | 
|  | header "redecl-merge-right.h" | 
|  | export * | 
|  | } | 
|  | module redecl_merge_bottom { | 
|  | explicit module prefix { | 
|  | header "redecl-merge-bottom-prefix.h" | 
|  | } | 
|  |  | 
|  | header "redecl-merge-bottom.h" | 
|  | export * | 
|  | } | 
|  | module namespaces_top { | 
|  | header "namespaces-top.h" | 
|  | export * | 
|  | } | 
|  | module namespaces_left { | 
|  | header "namespaces-left.h" | 
|  | export * | 
|  | } | 
|  | module namespaces_right { | 
|  | header "namespaces-right.h" | 
|  | export * | 
|  | } | 
|  | module templates_top { | 
|  | header "templates-top.h" | 
|  | export * | 
|  | } | 
|  | module templates_left { | 
|  | header "templates-left.h" | 
|  | export * | 
|  | } | 
|  | module templates_right { | 
|  | header "templates-right.h" | 
|  | export * | 
|  | } | 
|  | module MethodPoolA { | 
|  | header "MethodPoolA.h" | 
|  |  | 
|  | explicit module Sub2 { | 
|  | header "MethodPoolASub2.h" | 
|  | } | 
|  |  | 
|  | explicit module Sub { | 
|  | header "MethodPoolASub.h" | 
|  | } | 
|  | } | 
|  | module MethodPoolB { | 
|  | header "MethodPoolB.h" | 
|  |  | 
|  | explicit module Sub2 { | 
|  | header "MethodPoolBSub2.h" | 
|  | } | 
|  |  | 
|  | explicit module Sub { | 
|  | header "MethodPoolBSub.h" | 
|  | } | 
|  | } | 
|  | module import_decl { | 
|  | header "import-decl.h" | 
|  | } | 
|  |  | 
|  | framework module * { | 
|  | exclude NotAModule | 
|  | } | 
|  |  | 
|  | module linkage_merge_left { | 
|  | explicit module sub { | 
|  | header "linkage-merge-sub.h" | 
|  | } | 
|  | } | 
|  |  | 
|  | module autolink { | 
|  | header "autolink.h" | 
|  | link "autolink" | 
|  |  | 
|  | explicit module sub { | 
|  | header "autolink-sub.h" | 
|  | link "autolink_sub" | 
|  | } | 
|  |  | 
|  | explicit module sub2 { | 
|  | header "autolink-sub2.h" | 
|  | link framework "autolink_framework" | 
|  | } | 
|  |  | 
|  | explicit module sub3 { | 
|  | header "autolink-sub3.h" | 
|  | link "autolink_from_pch" | 
|  | } | 
|  | } | 
|  |  | 
|  | module weird_objc { | 
|  | header "weird_objc.h" | 
|  | } | 
|  |  | 
|  | module ignored_macros { | 
|  | header "ignored_macros.h" | 
|  | } | 
|  |  | 
|  | module cxx_many_overloads { | 
|  | header "cxx-many-overloads.h" | 
|  | } | 
|  |  | 
|  | module cxx_inline_namespace { | 
|  | header "cxx-inline-namespace.h" | 
|  | } | 
|  |  | 
|  | module cxx_inline_namespace_b { | 
|  | header "cxx-inline-namespace-b.h" | 
|  | } | 
|  |  | 
|  | module cxx_linkage_cache { | 
|  | header "cxx-linkage-cache.h" | 
|  | } | 
|  |  | 
|  | module cxx_templates_common { | 
|  | header "cxx-templates-common.h" | 
|  | } | 
|  |  | 
|  | module cxx_templates_a { | 
|  | header "cxx-templates-a.h" | 
|  | } | 
|  |  | 
|  | module cxx_templates_b_impl { | 
|  | header "cxx-templates-b-impl.h" | 
|  | } | 
|  |  | 
|  | module cxx_templates_b { | 
|  | header "cxx-templates-b.h" | 
|  | } | 
|  |  | 
|  | module cxx_templates_c { | 
|  | header "cxx-templates-c.h" | 
|  | } | 
|  |  | 
|  | module cxx_decls { | 
|  | module unimported { | 
|  | header "cxx-decls-unimported.h" | 
|  | } | 
|  | module imported { | 
|  | header "cxx-decls-imported.h" | 
|  | } | 
|  | } | 
|  |  | 
|  | module config { | 
|  | header "config.h" | 
|  | config_macros [exhaustive] WANT_FOO, WANT_BAR | 
|  | } | 
|  |  | 
|  | module diag_pragma { | 
|  | header "diag_pragma.h" | 
|  | } | 
|  |  | 
|  | module dummy { | 
|  | header "dummy.h" | 
|  | } | 
|  |  | 
|  | module builtin { | 
|  | header "builtin.h" | 
|  | explicit module sub { | 
|  | header "builtin_sub.h" | 
|  | } | 
|  | } | 
|  |  | 
|  | module linkage_merge { | 
|  | explicit module foo { | 
|  | header "linkage-merge-foo.h" | 
|  | } | 
|  | explicit module bar { | 
|  | header "linkage-merge-bar.h" | 
|  | } | 
|  |  | 
|  | } | 
|  |  | 
|  | module incomplete_mod { | 
|  | header "incomplete_mod.h" | 
|  | } | 
|  |  | 
|  | module warning { | 
|  | header "warning.h" | 
|  | } | 
|  |  | 
|  | module initializer_list { | 
|  | header "initializer_list" | 
|  | } | 
|  |  | 
|  | module using_decl { | 
|  | module a { header "using-decl-a.h" export * } | 
|  | module b { header "using-decl-b.h" export * } | 
|  | } | 
|  |  | 
|  | module recursive_visibility_a1 { | 
|  | module inner { header "recursive_visibility_a1_inner.h" } | 
|  | } | 
|  | module recursive_visibility_a2 { | 
|  | module inner { | 
|  | module more_inner { | 
|  | header "recursive_visibility_a2_more_inner.h" | 
|  | } | 
|  | } | 
|  | } | 
|  | module recursive_visibility_b { | 
|  | header "recursive_visibility_b.h" | 
|  | export * | 
|  | } | 
|  | module recursive_visibility_c { | 
|  | header "recursive_visibility_c.h" | 
|  | } | 
|  | module recursive1 { | 
|  | header "recursive1.h" | 
|  | } | 
|  | module recursive2 { | 
|  | header "recursive2.h" | 
|  | } |