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