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