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