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 load_failure { header "load_failure.h" } 73 74module decldef { 75 explicit module Decl { header "decl.h" } 76 explicit module Decl2 { header "decl2.h" } 77 explicit module Def { header "def.h" } 78} 79 80module redecl_merge_top { 81 header "redecl-merge-top.h" 82 explicit module Explicit { header "redecl-merge-top-explicit.h" } 83 exclude header "nonexistent.h" 84} 85module redecl_merge_left { 86 header "redecl-merge-left.h" 87 export * 88} 89module redecl_merge_left_left { 90 header "redecl-merge-left-left.h" 91 export * 92} 93module redecl_merge_right { 94 header "redecl-merge-right.h" 95 export * 96} 97module redecl_merge_bottom { 98 explicit module prefix { 99 header "redecl-merge-bottom-prefix.h" 100 } 101 102 header "redecl-merge-bottom.h" 103 export * 104} 105module namespaces_top { 106 header "namespaces-top.h" 107 export * 108} 109module namespaces_left { 110 header "namespaces-left.h" 111 export * 112} 113module namespaces_right { 114 header "namespaces-right.h" 115 export * 116} 117module templates_top { 118 header "templates-top.h" 119 export * 120} 121module templates_left { 122 header "templates-left.h" 123 export * 124} 125module templates_right { 126 header "templates-right.h" 127 export * 128} 129module MethodPoolA { 130 header "MethodPoolA.h" 131 132 explicit module Sub2 { 133 header "MethodPoolASub2.h" 134 } 135 136 explicit module Sub { 137 header "MethodPoolASub.h" 138 } 139} 140module MethodPoolB { 141 header "MethodPoolB.h" 142 143 explicit module Sub2 { 144 header "MethodPoolBSub2.h" 145 } 146 147 explicit module Sub { 148 header "MethodPoolBSub.h" 149 } 150} 151module import_decl { 152 header "import-decl.h" 153} 154 155framework module * { 156 exclude NotAModule 157} 158 159module linkage_merge_left { 160 explicit module sub { 161 header "linkage-merge-sub.h" 162 } 163} 164 165module autolink { 166 header "autolink.h" 167 link "autolink" 168 169 explicit module sub { 170 header "autolink-sub.h" 171 link "autolink_sub" 172 } 173 174 explicit module sub2 { 175 header "autolink-sub2.h" 176 link framework "autolink_framework" 177 } 178 179 explicit module sub3 { 180 header "autolink-sub3.h" 181 link "autolink_from_pch" 182 } 183} 184 185module weird_objc { 186 header "weird_objc.h" 187} 188 189module ignored_macros { 190 header "ignored_macros.h" 191} 192 193module cxx_many_overloads { 194 header "cxx-many-overloads.h" 195} 196 197module cxx_inline_namespace { 198 header "cxx-inline-namespace.h" 199} 200 201module cxx_inline_namespace_b { 202 header "cxx-inline-namespace-b.h" 203} 204 205module cxx_linkage_cache { 206 header "cxx-linkage-cache.h" 207} 208 209module cxx_templates_common { 210 header "cxx-templates-common.h" 211} 212 213module cxx_templates_a { 214 header "cxx-templates-a.h" 215} 216 217module cxx_templates_b_impl { 218 header "cxx-templates-b-impl.h" 219} 220 221module cxx_templates_b { 222 header "cxx-templates-b.h" 223} 224 225module cxx_templates_c { 226 header "cxx-templates-c.h" 227} 228 229module cxx_decls { 230 module unimported { 231 header "cxx-decls-unimported.h" 232 } 233 module imported { 234 header "cxx-decls-imported.h" 235 } 236} 237 238module config { 239 header "config.h" 240 config_macros [exhaustive] WANT_FOO, WANT_BAR 241} 242 243module diag_pragma { 244 header "diag_pragma.h" 245} 246 247module dummy { 248 header "dummy.h" 249} 250 251module builtin { 252 header "builtin.h" 253 explicit module sub { 254 header "builtin_sub.h" 255 } 256} 257 258module linkage_merge { 259 explicit module foo { 260 header "linkage-merge-foo.h" 261 } 262 explicit module bar { 263 header "linkage-merge-bar.h" 264 } 265 266} 267 268module incomplete_mod { 269 header "incomplete_mod.h" 270} 271 272module warning { 273 header "warning.h" 274} 275 276module initializer_list { 277 header "initializer_list" 278} 279 280module using_decl { 281 module a { header "using-decl-a.h" export * } 282 module b { header "using-decl-b.h" export * } 283} 284 285module recursive_visibility_a1 { 286 module inner { header "recursive_visibility_a1_inner.h" } 287} 288module recursive_visibility_a2 { 289 module inner { 290 module more_inner { 291 header "recursive_visibility_a2_more_inner.h" 292 } 293 } 294} 295module recursive_visibility_b { 296 header "recursive_visibility_b.h" 297 export * 298} 299module recursive_visibility_c { 300 header "recursive_visibility_c.h" 301} 302module recursive1 { 303 header "recursive1.h" 304} 305module recursive2 { 306 header "recursive2.h" 307} 308