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_bottom { |
44 | header "macros_bottom.h" |
45 | export * |
46 | } |
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" |
52 | export category_top |
53 | |
54 | explicit module sub { |
55 | header "category_left_sub.h" |
56 | } |
57 | } |
58 | module category_right { |
59 | header "category_right.h" |
60 | export category_top |
61 | |
62 | explicit module sub { |
63 | header "category_right_sub.h" |
64 | } |
65 | } |
66 | module category_bottom { |
67 | header "category_bottom.h" |
68 | export category_left |
69 | export category_right |
70 | } |
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" } |
80 | |
81 | module decldef { |
82 | explicit module Decl { header "decl.h" } |
83 | explicit module Decl2 { header "decl2.h" } |
84 | explicit module Def { header "def.h" } |
85 | } |
86 | |
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" |
91 | } |
92 | module redecl_merge_left { |
93 | header "redecl-merge-left.h" |
94 | export * |
95 | } |
96 | module redecl_merge_left_left { |
97 | header "redecl-merge-left-left.h" |
98 | export * |
99 | } |
100 | module redecl_merge_right { |
101 | header "redecl-merge-right.h" |
102 | export * |
103 | } |
104 | module redecl_merge_bottom { |
105 | explicit module prefix { |
106 | header "redecl-merge-bottom-prefix.h" |
107 | } |
108 | |
109 | header "redecl-merge-bottom.h" |
110 | export * |
111 | } |
112 | module namespaces_top { |
113 | header "namespaces-top.h" |
114 | export * |
115 | } |
116 | module namespaces_left { |
117 | header "namespaces-left.h" |
118 | export * |
119 | } |
120 | module namespaces_right { |
121 | header "namespaces-right.h" |
122 | export * |
123 | } |
124 | module templates_top { |
125 | header "templates-top.h" |
126 | export * |
127 | } |
128 | module templates_left { |
129 | header "templates-left.h" |
130 | export * |
131 | } |
132 | module templates_right { |
133 | header "templates-right.h" |
134 | export * |
135 | } |
136 | module MethodPoolA { |
137 | header "MethodPoolA.h" |
138 | |
139 | explicit module Sub2 { |
140 | header "MethodPoolASub2.h" |
141 | } |
142 | |
143 | explicit module Sub { |
144 | header "MethodPoolASub.h" |
145 | } |
146 | } |
147 | module MethodPoolB { |
148 | header "MethodPoolB.h" |
149 | |
150 | explicit module Sub2 { |
151 | header "MethodPoolBSub2.h" |
152 | } |
153 | |
154 | explicit module Sub { |
155 | header "MethodPoolBSub.h" |
156 | } |
157 | } |
158 | module import_decl { |
159 | header "import-decl.h" |
160 | } |
161 | |
162 | framework module * { |
163 | exclude NotAModule |
164 | } |
165 | |
166 | module linkage_merge_left { |
167 | explicit module sub { |
168 | header "linkage-merge-sub.h" |
169 | } |
170 | } |
171 | |
172 | module autolink { |
173 | header "autolink.h" |
174 | link "autolink" |
175 | |
176 | explicit module sub { |
177 | header "autolink-sub.h" |
178 | link "autolink_sub" |
179 | } |
180 | |
181 | explicit module sub2 { |
182 | header "autolink-sub2.h" |
183 | link framework "autolink_framework" |
184 | } |
185 | |
186 | explicit module sub3 { |
187 | header "autolink-sub3.h" |
188 | link "autolink_from_pch" |
189 | } |
190 | } |
191 | |
192 | module weird_objc { |
193 | header "weird_objc.h" |
194 | } |
195 | |
196 | module ignored_macros { |
197 | header "ignored_macros.h" |
198 | } |
199 | |
200 | module cxx_many_overloads { |
201 | header "cxx-many-overloads.h" |
202 | } |
203 | |
204 | module cxx_inline_namespace { |
205 | header "cxx-inline-namespace.h" |
206 | } |
207 | |
208 | module cxx_inline_namespace_b { |
209 | header "cxx-inline-namespace-b.h" |
210 | } |
211 | |
212 | module cxx_linkage_cache { |
213 | header "cxx-linkage-cache.h" |
214 | } |
215 | |
216 | module cxx_templates_common { |
217 | header "cxx-templates-common.h" |
218 | |
219 | explicit module unimported { header "cxx-templates-unimported.h" } |
220 | } |
221 | |
222 | module cxx_templates_a { |
223 | header "cxx-templates-a.h" |
224 | } |
225 | |
226 | module cxx_templates_b_impl { |
227 | header "cxx-templates-b-impl.h" |
228 | } |
229 | |
230 | module cxx_templates_b { |
231 | header "cxx-templates-b.h" |
232 | } |
233 | |
234 | module cxx_templates_c { |
235 | header "cxx-templates-c.h" |
236 | } |
237 | |
238 | module cxx_templates_d { |
239 | header "cxx-templates-d.h" |
240 | } |
241 | |
242 | module cxx_decls { |
243 | module unimported { |
244 | header "cxx-decls-unimported.h" |
245 | } |
246 | module imported { |
247 | header "cxx-decls-imported.h" |
248 | } |
249 | } |
250 | |
251 | module cxx_decls_premerged { |
252 | header "cxx-decls-premerged.h" |
253 | } |
254 | |
255 | module cxx_decls_merged { |
256 | header "cxx-decls-merged.h" |
257 | } |
258 | |
259 | module config { |
260 | header "config.h" |
261 | config_macros [exhaustive] WANT_FOO, WANT_BAR |
262 | } |
263 | |
264 | module diag_flags { |
265 | header "diag_flags.h" |
266 | } |
267 | |
268 | module diag_pragma { |
269 | header "diag_pragma.h" |
270 | } |
271 | |
272 | module pragma_pack { |
273 | module set { header "pragma_pack_set.h" } |
274 | module empty { header "empty.h" } |
275 | } |
276 | |
277 | module dummy { |
278 | header "dummy.h" |
279 | } |
280 | |
281 | module builtin { |
282 | header "builtin.h" |
283 | explicit module sub { |
284 | header "builtin_sub.h" |
285 | } |
286 | } |
287 | |
288 | module linkage_merge { |
289 | explicit module foo { |
290 | header "linkage-merge-foo.h" |
291 | } |
292 | explicit module bar { |
293 | header "linkage-merge-bar.h" |
294 | } |
295 | |
296 | } |
297 | |
298 | module incomplete_mod { |
299 | header "incomplete_mod.h" |
300 | } |
301 | |
302 | module warning { |
303 | header "warning.h" |
304 | } |
305 | |
306 | module warn_unused_local_typedef { |
307 | header "warn-unused-local-typedef.h" |
308 | } |
309 | |
310 | module using_decl { |
311 | module a { header "using-decl-a.h" export * } |
312 | module b { header "using-decl-b.h" export * } |
313 | } |
314 | |
315 | module recursive_visibility_a1 { |
316 | module inner { header "recursive_visibility_a1_inner.h" } |
317 | } |
318 | module recursive_visibility_a2 { |
319 | module inner { |
320 | module more_inner { |
321 | header "recursive_visibility_a2_more_inner.h" |
322 | } |
323 | } |
324 | } |
325 | module recursive_visibility_b { |
326 | header "recursive_visibility_b.h" |
327 | export * |
328 | } |
329 | module recursive_visibility_c { |
330 | header "recursive_visibility_c.h" |
331 | } |
332 | module recursive1 { |
333 | header "recursive1.h" |
334 | } |
335 | module recursive2 { |
336 | header "recursive2.h" |
337 | } |
338 | module crash { |
339 | header "crash.h" |
340 | } |
341 | |
342 | module DebugCXX { |
343 | header "DebugCXX.h" |
344 | } |
345 | |
346 | module DebugObjC { |
347 | header "DebugObjC.h" |
348 | } |
349 | |
350 | module DebugObjCImport { |
351 | module SubModule { |
352 | header "DebugObjCImport.h" |
353 | } |
354 | } |
355 | |
356 | module ImportNameInDir { |
357 | header "ImportNameInDir.h" |
358 | export * |
359 | } |
360 | |
361 | module RequiresWithMissingHeader { |
362 | module HeaderBefore { |
363 | header "RequiresWithMissingHeader-Missing1.h" |
364 | requires missing |
365 | } |
366 | module HeaderAfter { |
367 | requires missing |
368 | header "RequiresWithMissingHeader-Missing2.h" |
369 | } |
370 | } |
371 | |
372 | module TargetFeatures { |
373 | module arm { |
374 | requires arm |
375 | module aarch32 { requires aarch32 } |
376 | module aarch64 { requires aarch64 } |
377 | } |
378 | module x86 { |
379 | requires x86 |
380 | module x86_32 { requires x86_32 } |
381 | module x86_64 { requires x86_64 } |
382 | } |
383 | module riscv { |
384 | requires riscv |
385 | module riscv32 { requires riscv32 } |
386 | module riscv64 { requires riscv64 } |
387 | } |
388 | } |
389 | |
390 | module DebugSubmodules { |
391 | module DebugSubmoduleA { |
392 | header "DebugSubmoduleA.h" |
393 | export * |
394 | } |
395 | module DebugSubmoduleB { |
396 | header "DebugSubmoduleB.h" |
397 | export * |
398 | } |
399 | } |
400 | |
401 | module ExtensionTestA { |
402 | header "ExtensionTestA.h" |
403 | } |
404 | |
405 | module TypedefTag { |
406 | header "typedef-tag.h" |
407 | explicit module Hidden { |
408 | header "typedef-tag-hidden.h" |
409 | } |
410 | } |
411 | |
412 | module ElaboratedTypeStructs { |
413 | module Empty {} |
414 | module Structs { |
415 | header "elaborated-type-structs.h" |
416 | } |
417 | } |
418 | |
419 | // We import a module, then declare a method with selector stringValue in |
420 | // MethodPoolCombined1.h. In MethodPoolCombined2.h, we import another module |
421 | // that also contains a method for selector stringValue. We make sure that |
422 | // the method pool entry for stringValue in this module is complete. |
423 | module MethodPoolCombined { |
424 | header "MethodPoolCombined1.h" |
425 | header "MethodPoolCombined2.h" |
426 | } |
427 | |
428 | module MethodPoolString1 { |
429 | header "MethodPoolString1.h" |
430 | } |
431 | |
432 | module MethodPoolString2 { |
433 | header "MethodPoolString2.h" |
434 | } |
435 | |
436 | module Empty {} |
437 | |
438 | module MacroFabs1 { |
439 | header "MacroFabs1.h" |
440 | } |
441 | |
442 | module DiagOutOfDate { |
443 | header "DiagOutOfDate.h" |
444 | } |
445 | |
446 | module DebugNestedA { |
447 | header "DebugNestedA.h" |
448 | export * |
449 | } |
450 | |
451 | module DebugNestedB { |
452 | header "DebugNestedB.h" |
453 | export * |
454 | } |
455 | |
456 | module objcAtKeywordMissingEnd { |
457 | header "objcAtKeywordMissingEnd.h" |
458 | } |
459 | |
460 | module innerstructredef { |
461 | module one { |
462 | header "empty.h" |
463 | } |
464 | module two { |
465 | header "innerstructredef.h" |
466 | } |
467 | } |
468 | |
469 | module template_nontrivial0 { |
470 | header "template-nontrivial0.h" |
471 | export * |
472 | } |
473 | |
474 | module template_nontrivial1 { |
475 | header "template-nontrivial1.h" |
476 | export * |
477 | } |
478 | |