1module c_library [extern_c] { module inner { header "c-header.h" } }
2module cxx_library { header "cxx-header.h" requires cplusplus }
3module c_library_bad [extern_c] { header "c-header-bad.h" }
4module diamond_top { header "diamond_top.h" }
5module diamond_left {
6  header "diamond_left.h"
7  export diamond_top
8}
9module diamond_right {
10  header "diamond_right.h"
11  export diamond_top
12}
13module diamond_bottom {
14  header "diamond_bottom.h"
15  export *
16}
17module irgen { header "irgen.h" }
18module cxx_irgen_top { header "cxx-irgen-top.h" }
19module cxx_irgen_left { header "cxx-irgen-left.h" }
20module cxx_irgen_right { header "cxx-irgen-right.h" }
21module lookup_left_objc { header "lookup_left.h" }
22module lookup_right_objc { header "lookup_right.h" }
23module lookup_left_cxx { header "lookup_left.hpp" }
24module lookup_right_cxx { header "lookup_right.hpp" }
25module module_private_left { header "module_private_left.h" }
26module module_private_right { header "module_private_right.h" }
27module 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}
32module macros_left {
33  header "macros_left.h"
34  export *
35}
36module macros_right {
37  header "macros_right.h"
38  export *
39  explicit module undef {
40    header "macros_right_undef.h"
41  }
42}
43module macros { header "macros.h" }
44module macros_other { header "macros_other.h" }
45module category_top { header "category_top.h" }
46module category_left {
47  header "category_left.h"
48  export category_top
49
50  explicit module sub {
51    header "category_left_sub.h"
52  }
53}
54module category_right {
55  header "category_right.h"
56  export category_top
57
58  explicit module sub {
59    header "category_right_sub.h"
60  }
61}
62module category_bottom {
63  header "category_bottom.h"
64  export category_left
65  export category_right
66}
67module category_other { header "category_other.h" }
68module redeclarations_left { header "redeclarations_left.h" }
69module redeclarations_right { header "redeclarations_right.h" }
70module redecl_namespaces_left { header "redecl_namespaces_left.h" }
71module redecl_namespaces_right { header "redecl_namespaces_right.h" }
72module redecl_add_after_load_top { header "redecl-add-after-load-top.h" }
73module redecl_add_after_load { header "redecl-add-after-load.h" }
74module load_failure { header "load_failure.h" }
75
76module decldef {
77  explicit module Decl { header "decl.h" }
78  explicit module Decl2 { header "decl2.h" }
79  explicit module Def { header "def.h" }
80}
81
82module 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}
87module redecl_merge_left {
88  header "redecl-merge-left.h"
89  export *
90}
91module redecl_merge_left_left {
92  header "redecl-merge-left-left.h"
93  export *
94}
95module redecl_merge_right {
96  header "redecl-merge-right.h"
97  export *
98}
99module 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}
107module namespaces_top {
108  header "namespaces-top.h"
109  export *
110}
111module namespaces_left {
112  header "namespaces-left.h"
113  export *
114}
115module namespaces_right {
116  header "namespaces-right.h"
117  export *
118}
119module templates_top {
120  header "templates-top.h"
121  export *
122}
123module templates_left {
124  header "templates-left.h"
125  export *
126}
127module templates_right {
128  header "templates-right.h"
129  export *
130}
131module 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}
142module 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}
153module import_decl {
154  header "import-decl.h"
155}
156
157framework module * {
158  exclude NotAModule
159}
160
161module linkage_merge_left {
162  explicit module sub {
163    header "linkage-merge-sub.h"
164  }
165}
166
167module 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
187module weird_objc {
188  header "weird_objc.h"
189}
190
191module ignored_macros {
192  header "ignored_macros.h"
193}
194
195module cxx_many_overloads {
196  header "cxx-many-overloads.h"
197}
198
199module cxx_inline_namespace {
200  header "cxx-inline-namespace.h"
201}
202
203module cxx_inline_namespace_b {
204  header "cxx-inline-namespace-b.h"
205}
206
207module cxx_linkage_cache {
208  header "cxx-linkage-cache.h"
209}
210
211module cxx_templates_common {
212  header "cxx-templates-common.h"
213}
214
215module cxx_templates_a {
216  header "cxx-templates-a.h"
217}
218
219module cxx_templates_b_impl {
220  header "cxx-templates-b-impl.h"
221}
222
223module cxx_templates_b {
224  header "cxx-templates-b.h"
225}
226
227module cxx_templates_c {
228  header "cxx-templates-c.h"
229}
230
231module cxx_decls {
232  module unimported {
233    header "cxx-decls-unimported.h"
234  }
235  module imported {
236    header "cxx-decls-imported.h"
237  }
238}
239
240module config {
241  header "config.h"
242  config_macros [exhaustive] WANT_FOO, WANT_BAR
243}
244
245module diag_pragma {
246  header "diag_pragma.h"
247}
248
249module dummy {
250  header "dummy.h"
251}
252
253module builtin {
254  header "builtin.h"
255  explicit module sub {
256    header "builtin_sub.h"
257  }
258}
259
260module 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
270module incomplete_mod {
271  header "incomplete_mod.h"
272}
273
274module warning {
275  header "warning.h"
276}
277
278module initializer_list {
279  header "initializer_list"
280}
281
282module using_decl {
283  module a { header "using-decl-a.h" export * }
284  module b { header "using-decl-b.h" export * }
285}
286
287module recursive_visibility_a1 {
288  module inner { header "recursive_visibility_a1_inner.h" }
289}
290module recursive_visibility_a2 {
291  module inner {
292    module more_inner {
293      header "recursive_visibility_a2_more_inner.h"
294    }
295  }
296}
297module recursive_visibility_b {
298  header "recursive_visibility_b.h"
299  export *
300}
301module recursive_visibility_c {
302  header "recursive_visibility_c.h"
303}
304module recursive1 {
305  header "recursive1.h"
306}
307module recursive2 {
308  header "recursive2.h"
309}
310