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" }
6 header "diamond_left.h"
10 header "diamond_right.h"
13 module diamond_bottom {
14 header "diamond_bottom.h"
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" }
29 explicit module b { header "macros_top_b.h" }
30 explicit module c { header "macros_top_c.h" }
33 header "macros_left.h"
37 header "macros_right.h"
39 explicit module undef {
40 header "macros_right_undef.h"
43 module macros_bottom {
44 header "macros_bottom.h"
47 module macros { header "macros.h" }
48 module macros_other { header "macros_other.h" }
49 module category_top { header "category_top.h" }
50 module category_left {
51 header "category_left.h"
55 header "category_left_sub.h"
58 module category_right {
59 header "category_right.h"
63 header "category_right_sub.h"
66 module category_bottom {
67 header "category_bottom.h"
71 module category_other { header "category_other.h" }
72 module redeclarations_left { header "redeclarations_left.h" }
73 module redeclarations_right { header "redeclarations_right.h" }
74 module redecl_namespaces_left { header "redecl_namespaces_left.h" }
75 module redecl_namespaces_right { header "redecl_namespaces_right.h" }
76 module redecl_add_after_load_top { header "redecl-add-after-load-top.h" }
77 module redecl_add_after_load_decls { header "redecl-add-after-load-decls.h" }
78 module redecl_add_after_load { header "redecl-add-after-load.h" }
79 module load_failure { header "load_failure.h" }
82 explicit module Decl { header "decl.h" }
83 explicit module Decl2 { header "decl2.h" }
84 explicit module Def { header "def.h" }
87 module redecl_merge_top {
88 header "redecl-merge-top.h"
89 explicit module Explicit { header "redecl-merge-top-explicit.h" }
90 exclude header "nonexistent.h"
92 module redecl_merge_left {
93 header "redecl-merge-left.h"
96 module redecl_merge_left_left {
97 header "redecl-merge-left-left.h"
100 module redecl_merge_right {
101 header "redecl-merge-right.h"
104 module redecl_merge_bottom {
105 explicit module prefix {
106 header "redecl-merge-bottom-prefix.h"
109 header "redecl-merge-bottom.h"
112 module namespaces_top {
113 header "namespaces-top.h"
116 module namespaces_left {
117 header "namespaces-left.h"
120 module namespaces_right {
121 header "namespaces-right.h"
124 module templates_top {
125 header "templates-top.h"
128 module templates_left {
129 header "templates-left.h"
132 module templates_right {
133 header "templates-right.h"
137 header "MethodPoolA.h"
139 explicit module Sub2 {
140 header "MethodPoolASub2.h"
143 explicit module Sub {
144 header "MethodPoolASub.h"
148 header "MethodPoolB.h"
150 explicit module Sub2 {
151 header "MethodPoolBSub2.h"
154 explicit module Sub {
155 header "MethodPoolBSub.h"
159 header "import-decl.h"
166 module linkage_merge_left {
167 explicit module sub {
168 header "linkage-merge-sub.h"
176 explicit module sub {
177 header "autolink-sub.h"
181 explicit module sub2 {
182 header "autolink-sub2.h"
183 link framework "autolink_framework"
186 explicit module sub3 {
187 header "autolink-sub3.h"
188 link "autolink_from_pch"
193 header "weird_objc.h"
196 module objc_type_param {
197 header "objc_type_param.h"
200 module ignored_macros {
201 header "ignored_macros.h"
204 module cxx_many_overloads {
205 header "cxx-many-overloads.h"
208 module cxx_inline_namespace {
209 header "cxx-inline-namespace.h"
212 module cxx_inline_namespace_b {
213 header "cxx-inline-namespace-b.h"
216 module cxx_linkage_cache {
217 header "cxx-linkage-cache.h"
220 module cxx_templates_common {
221 header "cxx-templates-common.h"
223 explicit module unimported { header "cxx-templates-unimported.h" }
226 module cxx_templates_a {
227 header "cxx-templates-a.h"
230 module cxx_templates_b_impl {
231 header "cxx-templates-b-impl.h"
234 module cxx_templates_b {
235 header "cxx-templates-b.h"
238 module cxx_templates_c {
239 header "cxx-templates-c.h"
242 module cxx_templates_d {
243 header "cxx-templates-d.h"
248 header "cxx-decls-unimported.h"
251 header "cxx-decls-imported.h"
255 module cxx_decls_premerged {
256 header "cxx-decls-premerged.h"
259 module cxx_decls_merged {
260 header "cxx-decls-merged.h"
264 header "diag_flags.h"
268 header "diag_pragma.h"
272 module set { header "pragma_pack_set.h" }
273 module empty { header "empty.h" }
282 explicit module sub {
283 header "builtin_sub.h"
287 module linkage_merge {
288 explicit module foo {
289 header "linkage-merge-foo.h"
291 explicit module bar {
292 header "linkage-merge-bar.h"
297 module incomplete_mod {
298 header "incomplete_mod.h"
305 module warn_unused_local_typedef {
306 header "warn-unused-local-typedef.h"
310 module a { header "using-decl-a.h" export * }
311 module b { header "using-decl-b.h" export * }
314 module recursive_visibility_a1 {
315 module inner { header "recursive_visibility_a1_inner.h" }
317 module recursive_visibility_a2 {
320 header "recursive_visibility_a2_more_inner.h"
324 module recursive_visibility_b {
325 header "recursive_visibility_b.h"
328 module recursive_visibility_c {
329 header "recursive_visibility_c.h"
332 header "recursive1.h"
335 header "recursive2.h"
349 module DebugObjCImport {
351 header "DebugObjCImport.h"
356 header "DebugDwoId.h"
359 module ImportNameInDir {
360 header "ImportNameInDir.h"
364 module RequiresWithMissingHeader {
365 module HeaderBefore {
366 header "RequiresWithMissingHeader-Missing1.h"
371 header "RequiresWithMissingHeader-Missing2.h"
375 module TargetFeatures {
378 module aarch32 { requires aarch32 }
379 module aarch64 { requires aarch64 }
383 module x86_32 { requires x86_32 }
384 module x86_64 { requires x86_64 }
388 module riscv32 { requires riscv32 }
389 module riscv64 { requires riscv64 }
393 module DebugSubmodules {
394 module DebugSubmoduleA {
395 header "DebugSubmoduleA.h"
398 module DebugSubmoduleB {
399 header "DebugSubmoduleB.h"
404 module ExtensionTestA {
405 header "ExtensionTestA.h"
409 header "typedef-tag.h"
410 explicit module Hidden {
411 header "typedef-tag-hidden.h"
415 module ElaboratedTypeStructs {
418 header "elaborated-type-structs.h"
422 // We import a module, then declare a method with selector stringValue in
423 // MethodPoolCombined1.h. In MethodPoolCombined2.h, we import another module
424 // that also contains a method for selector stringValue. We make sure that
425 // the method pool entry for stringValue in this module is complete.
426 module MethodPoolCombined {
427 header "MethodPoolCombined1.h"
428 header "MethodPoolCombined2.h"
431 module MethodPoolString1 {
432 header "MethodPoolString1.h"
435 module MethodPoolString2 {
436 header "MethodPoolString2.h"
442 header "MacroFabs1.h"
445 module DiagOutOfDate {
446 header "DiagOutOfDate.h"
449 module DebugNestedA {
450 header "DebugNestedA.h"
454 module DebugNestedB {
455 header "DebugNestedB.h"
459 module objcAtKeywordMissingEnd {
460 header "objcAtKeywordMissingEnd.h"
463 module innerstructredef {
468 header "innerstructredef.h"
472 module template_nontrivial0 {
473 header "template-nontrivial0.h"
477 module template_nontrivial1 {
478 header "template-nontrivial1.h"