1module diamond_top { header "diamond_top.h" }
2module diamond_left {
3  header "diamond_left.h"
4  export diamond_top
5}
6module diamond_right {
7  header "diamond_right.h"
8  export diamond_top
9}
10module diamond_bottom {
11  header "diamond_bottom.h"
12  export *
13}
14module irgen { header "irgen.h" }
15module lookup_left_objc { header "lookup_left.h" }
16module lookup_right_objc { header "lookup_right.h" }
17module lookup_left_cxx { header "lookup_left.hpp" }
18module lookup_right_cxx { header "lookup_right.hpp" }
19module module_private_left { header "module_private_left.h" }
20module module_private_right { header "module_private_right.h" }
21module macros_top {
22  header "macros_top.h"
23}
24module macros_left {
25  header "macros_left.h"
26  export *
27}
28module macros_right {
29  header "macros_right.h"
30  export *
31  explicit module undef {
32    header "macros_right_undef.h"
33  }
34}
35module macros { header "macros.h" }
36module category_top { header "category_top.h" }
37module category_left {
38  header "category_left.h"
39  export category_top
40
41  explicit module sub {
42    header "category_left_sub.h"
43  }
44}
45module category_right {
46  header "category_right.h"
47  export category_top
48
49  explicit module sub {
50    header "category_right_sub.h"
51  }
52}
53module category_bottom {
54  header "category_bottom.h"
55  export category_left
56  export category_right
57}
58module category_other { header "category_other.h" }
59module redeclarations_left { header "redeclarations_left.h" }
60module redeclarations_right { header "redeclarations_right.h" }
61module redecl_namespaces_left { header "redecl_namespaces_left.h" }
62module redecl_namespaces_right { header "redecl_namespaces_right.h" }
63module load_failure { header "load_failure.h" }
64
65module decldef {
66  explicit module Decl { header "decl.h" }
67  explicit module Decl2 { header "decl2.h" }
68  explicit module Def { header "def.h" }
69}
70
71module redecl_merge_top {
72  header "redecl-merge-top.h"
73  explicit module Explicit { header "redecl-merge-top-explicit.h" }
74  exclude header "nonexistent.h"
75}
76module redecl_merge_left {
77  header "redecl-merge-left.h"
78  export *
79}
80module redecl_merge_left_left {
81  header "redecl-merge-left-left.h"
82  export *
83}
84module redecl_merge_right {
85  header "redecl-merge-right.h"
86  export *
87}
88module redecl_merge_bottom {
89  explicit module prefix {
90    header "redecl-merge-bottom-prefix.h"
91  }
92
93  header "redecl-merge-bottom.h"
94  export *
95}
96module namespaces_top {
97  header "namespaces-top.h"
98  export *
99}
100module namespaces_left {
101  header "namespaces-left.h"
102  export *
103}
104module namespaces_right {
105  header "namespaces-right.h"
106  export *
107}
108module templates_top {
109  header "templates-top.h"
110  export *
111}
112module templates_left {
113  header "templates-left.h"
114  export *
115}
116module templates_right {
117  header "templates-right.h"
118  export *
119}
120module MethodPoolA {
121  header "MethodPoolA.h"
122
123  explicit module Sub2 {
124    header "MethodPoolASub2.h"
125  }
126
127  explicit module Sub {
128    header "MethodPoolASub.h"
129  }
130}
131module MethodPoolB {
132  header "MethodPoolB.h"
133
134  explicit module Sub2 {
135    header "MethodPoolBSub2.h"
136  }
137
138  explicit module Sub {
139    header "MethodPoolBSub.h"
140  }
141}
142module import_decl {
143  header "import-decl.h"
144}
145
146framework module * {
147  exclude NotAModule
148}
149
150module linkage_merge_left {
151  explicit module sub {
152    header "linkage-merge-sub.h"
153  }
154}
155
156module autolink {
157  header "autolink.h"
158  link "autolink"
159
160  explicit module sub {
161    header "autolink-sub.h"
162    link "autolink_sub"
163  }
164
165  explicit module sub2 {
166    header "autolink-sub2.h"
167    link framework "autolink_framework"
168  }
169
170  explicit module sub3 {
171    header "autolink-sub3.h"
172    link "autolink_from_pch"
173  }
174}
175
176module weird_objc {
177  header "weird_objc.h"
178}
179
180module ignored_macros {
181  header "ignored_macros.h"
182}
183
184module cxx_many_overloads {
185  header "cxx-many-overloads.h"
186}
187
188module cxx_inline_namespace {
189  header "cxx-inline-namespace.h"
190}
191
192module cxx_linkage_cache {
193  header "cxx-linkage-cache.h"
194}
195
196module cxx_templates_common {
197  header "cxx-templates-common.h"
198}
199
200module cxx_templates_a {
201  header "cxx-templates-a.h"
202}
203
204module cxx_templates_b_impl {
205  header "cxx-templates-b-impl.h"
206}
207
208module cxx_templates_b {
209  header "cxx-templates-b.h"
210}
211
212module cxx_templates_c {
213  header "cxx-templates-c.h"
214}
215
216module cxx_decls {
217  module unimported {
218    header "cxx-decls-unimported.h"
219  }
220  module imported {
221    header "cxx-decls-imported.h"
222  }
223}
224
225module config {
226  header "config.h"
227  config_macros [exhaustive] WANT_FOO, WANT_BAR
228}
229
230module diag_pragma {
231  header "diag_pragma.h"
232}
233
234module dummy {
235  header "dummy.h"
236}
237
238module builtin {
239  header "builtin.h"
240  explicit module sub {
241    header "builtin_sub.h"
242  }
243}
244
245module linkage_merge {
246  explicit module foo {
247    header "linkage-merge-foo.h"
248  }
249  explicit module bar {
250    header "linkage-merge-bar.h"
251  }
252
253}
254
255module incomplete_mod {
256  header "incomplete_mod.h"
257}
258
259module warning {
260  header "warning.h"
261}
262
263module initializer_list {
264  header "initializer_list"
265}
266
267module using_decl {
268  module a { header "using-decl-a.h" export * }
269  module b { header "using-decl-b.h" export * }
270}
271
272module recursive_visibility_a1 {
273  module inner { header "recursive_visibility_a1_inner.h" }
274}
275module recursive_visibility_a2 {
276  module inner {
277    module more_inner {
278      header "recursive_visibility_a2_more_inner.h"
279    }
280  }
281}
282module recursive_visibility_b {
283  header "recursive_visibility_b.h"
284  export *
285}
286module recursive_visibility_c {
287  header "recursive_visibility_c.h"
288}
289