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