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 { header "redecl-add-after-load.h" } 74 module load_failure { header "load_failure.h" } 75 76 module decldef { 77 explicit module Decl { header "decl.h" } 78 explicit module Decl2 { header "decl2.h" } 79 explicit module Def { header "def.h" } 80 } 81 82 module 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 } 87 module redecl_merge_left { 88 header "redecl-merge-left.h" 89 export * 90 } 91 module redecl_merge_left_left { 92 header "redecl-merge-left-left.h" 93 export * 94 } 95 module redecl_merge_right { 96 header "redecl-merge-right.h" 97 export * 98 } 99 module 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 } 107 module namespaces_top { 108 header "namespaces-top.h" 109 export * 110 } 111 module namespaces_left { 112 header "namespaces-left.h" 113 export * 114 } 115 module namespaces_right { 116 header "namespaces-right.h" 117 export * 118 } 119 module templates_top { 120 header "templates-top.h" 121 export * 122 } 123 module templates_left { 124 header "templates-left.h" 125 export * 126 } 127 module templates_right { 128 header "templates-right.h" 129 export * 130 } 131 module 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 } 142 module 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 } 153 module import_decl { 154 header "import-decl.h" 155 } 156 157 framework module * { 158 exclude NotAModule 159 } 160 161 module linkage_merge_left { 162 explicit module sub { 163 header "linkage-merge-sub.h" 164 } 165 } 166 167 module 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 187 module weird_objc { 188 header "weird_objc.h" 189 } 190 191 module ignored_macros { 192 header "ignored_macros.h" 193 } 194 195 module cxx_many_overloads { 196 header "cxx-many-overloads.h" 197 } 198 199 module cxx_inline_namespace { 200 header "cxx-inline-namespace.h" 201 } 202 203 module cxx_inline_namespace_b { 204 header "cxx-inline-namespace-b.h" 205 } 206 207 module cxx_linkage_cache { 208 header "cxx-linkage-cache.h" 209 } 210 211 module cxx_templates_common { 212 header "cxx-templates-common.h" 213 } 214 215 module cxx_templates_a { 216 header "cxx-templates-a.h" 217 } 218 219 module cxx_templates_b_impl { 220 header "cxx-templates-b-impl.h" 221 } 222 223 module cxx_templates_b { 224 header "cxx-templates-b.h" 225 } 226 227 module cxx_templates_c { 228 header "cxx-templates-c.h" 229 } 230 231 module cxx_decls { 232 module unimported { 233 header "cxx-decls-unimported.h" 234 } 235 module imported { 236 header "cxx-decls-imported.h" 237 } 238 } 239 240 module config { 241 header "config.h" 242 config_macros [exhaustive] WANT_FOO, WANT_BAR 243 } 244 245 module diag_pragma { 246 header "diag_pragma.h" 247 } 248 249 module dummy { 250 header "dummy.h" 251 } 252 253 module builtin { 254 header "builtin.h" 255 explicit module sub { 256 header "builtin_sub.h" 257 } 258 } 259 260 module 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 270 module incomplete_mod { 271 header "incomplete_mod.h" 272 } 273 274 module warning { 275 header "warning.h" 276 } 277 278 module initializer_list { 279 header "initializer_list" 280 } 281 282 module using_decl { 283 module a { header "using-decl-a.h" export * } 284 module b { header "using-decl-b.h" export * } 285 } 286 287 module recursive_visibility_a1 { 288 module inner { header "recursive_visibility_a1_inner.h" } 289 } 290 module recursive_visibility_a2 { 291 module inner { 292 module more_inner { 293 header "recursive_visibility_a2_more_inner.h" 294 } 295 } 296 } 297 module recursive_visibility_b { 298 header "recursive_visibility_b.h" 299 export * 300 } 301 module recursive_visibility_c { 302 header "recursive_visibility_c.h" 303 } 304 module recursive1 { 305 header "recursive1.h" 306 } 307 module recursive2 { 308 header "recursive2.h" 309 } 310