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_decls { header "redecl-add-after-load-decls.h" }
74module redecl_add_after_load { header "redecl-add-after-load.h" }
75module load_failure { header "load_failure.h" }
76
77module decldef {
78  explicit module Decl { header "decl.h" }
79  explicit module Decl2 { header "decl2.h" }
80  explicit module Def { header "def.h" }
81}
82
83module redecl_merge_top { 
84  header "redecl-merge-top.h"
85  explicit module Explicit { header "redecl-merge-top-explicit.h" }
86  exclude header "nonexistent.h"
87}
88module redecl_merge_left { 
89  header "redecl-merge-left.h" 
90  export *
91}
92module redecl_merge_left_left { 
93  header "redecl-merge-left-left.h" 
94  export *
95}
96module redecl_merge_right { 
97  header "redecl-merge-right.h" 
98  export *
99}
100module redecl_merge_bottom { 
101  explicit module prefix {
102    header "redecl-merge-bottom-prefix.h"
103  }
104
105  header "redecl-merge-bottom.h" 
106  export *
107}
108module namespaces_top { 
109  header "namespaces-top.h"
110  export *
111}
112module namespaces_left { 
113  header "namespaces-left.h"
114  export *
115}
116module namespaces_right { 
117  header "namespaces-right.h"
118  export *
119}
120module templates_top { 
121  header "templates-top.h"
122  export *
123}
124module templates_left { 
125  header "templates-left.h"
126  export *
127}
128module templates_right { 
129  header "templates-right.h"
130  export *
131}
132module MethodPoolA {
133  header "MethodPoolA.h"
134
135  explicit module Sub2 {
136    header "MethodPoolASub2.h"
137  }
138
139  explicit module Sub {
140    header "MethodPoolASub.h"
141  }
142}
143module MethodPoolB {
144  header "MethodPoolB.h"
145
146  explicit module Sub2 {
147    header "MethodPoolBSub2.h"
148  }
149
150  explicit module Sub {
151    header "MethodPoolBSub.h"
152  }
153}
154module import_decl {
155  header "import-decl.h"
156}
157
158framework module * { 
159  exclude NotAModule
160}
161
162module linkage_merge_left {
163  explicit module sub {
164    header "linkage-merge-sub.h"
165  }
166}
167
168module autolink {
169  header "autolink.h"
170  link "autolink"
171
172  explicit module sub {
173    header "autolink-sub.h"
174    link "autolink_sub"
175  }
176
177  explicit module sub2 {
178    header "autolink-sub2.h"
179    link framework "autolink_framework"
180  }
181
182  explicit module sub3 {
183    header "autolink-sub3.h"
184    link "autolink_from_pch"
185  }
186}
187
188module weird_objc {
189  header "weird_objc.h"
190}
191
192module ignored_macros {
193  header "ignored_macros.h"
194}
195
196module cxx_many_overloads {
197  header "cxx-many-overloads.h"
198}
199
200module cxx_inline_namespace {
201  header "cxx-inline-namespace.h"
202}
203
204module cxx_inline_namespace_b {
205  header "cxx-inline-namespace-b.h"
206}
207
208module cxx_linkage_cache {
209  header "cxx-linkage-cache.h"
210}
211
212module cxx_templates_common {
213  header "cxx-templates-common.h"
214}
215
216module cxx_templates_a {
217  header "cxx-templates-a.h"
218}
219
220module cxx_templates_b_impl {
221  header "cxx-templates-b-impl.h"
222}
223
224module cxx_templates_b {
225  header "cxx-templates-b.h"
226}
227
228module cxx_templates_c {
229  header "cxx-templates-c.h"
230}
231
232module cxx_decls {
233  module unimported {
234    header "cxx-decls-unimported.h"
235  }
236  module imported {
237    header "cxx-decls-imported.h"
238  }
239}
240
241module cxx_decls_merged {
242  header "cxx-decls-merged.h"
243}
244
245module config {
246  header "config.h"
247  config_macros [exhaustive] WANT_FOO, WANT_BAR
248}
249
250module diag_pragma {
251  header "diag_pragma.h"
252}
253
254module dummy {
255  header "dummy.h"
256}
257
258module builtin {
259  header "builtin.h"
260  explicit module sub {
261    header "builtin_sub.h"
262  }
263}
264
265module linkage_merge {
266  explicit module foo {
267    header "linkage-merge-foo.h"
268  }
269  explicit module bar {
270    header "linkage-merge-bar.h"
271  }
272
273}
274
275module incomplete_mod {
276  header "incomplete_mod.h"
277}
278
279module warning {
280  header "warning.h"
281}
282
283module initializer_list {
284  header "initializer_list"
285}
286
287module using_decl {
288  module a { header "using-decl-a.h" export * }
289  module b { header "using-decl-b.h" export * }
290}
291
292module recursive_visibility_a1 {
293  module inner { header "recursive_visibility_a1_inner.h" }
294}
295module recursive_visibility_a2 {
296  module inner {
297    module more_inner {
298      header "recursive_visibility_a2_more_inner.h"
299    }
300  }
301}
302module recursive_visibility_b {
303  header "recursive_visibility_b.h"
304  export *
305}
306module recursive_visibility_c {
307  header "recursive_visibility_c.h"
308}
309module recursive1 {
310  header "recursive1.h"
311}
312module recursive2 {
313  header "recursive2.h"
314}
315