1fe013be4SDimitry Andricmodule Clang_C {
2fe013be4SDimitry Andric  umbrella "clang-c"
3fe013be4SDimitry Andric  module * { export * }
4fe013be4SDimitry Andric}
5fe013be4SDimitry Andric
6fe013be4SDimitry Andricmodule Clang_Analysis {
7fe013be4SDimitry Andric  requires cplusplus
8fe013be4SDimitry Andric  umbrella "clang/Analysis"
9fe013be4SDimitry Andric
10fe013be4SDimitry Andric  textual header "clang/Analysis/Analyses/ThreadSafetyOps.def"
11fe013be4SDimitry Andric
12fe013be4SDimitry Andric  module * { export * }
13fe013be4SDimitry Andric
14fe013be4SDimitry Andric  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
15fe013be4SDimitry Andric  // library into clang. Due to inline key functions in the headers,
16fe013be4SDimitry Andric  // importing the AST matchers library gives a link dependency on the AST
17fe013be4SDimitry Andric  // matchers (and thus the AST), which clang-format should not have.
18fe013be4SDimitry Andric  exclude header "clang/Analysis/Analyses/ExprMutationAnalyzer.h"
19fe013be4SDimitry Andric}
20fe013be4SDimitry Andric
21fe013be4SDimitry Andricmodule Clang_AST {
22fe013be4SDimitry Andric  requires cplusplus
23fe013be4SDimitry Andric  umbrella "clang/AST"
24fe013be4SDimitry Andric
25fe013be4SDimitry Andric  textual header "clang/AST/BuiltinTypes.def"
26fe013be4SDimitry Andric  textual header "clang/AST/CXXRecordDeclDefinitionBits.def"
27fe013be4SDimitry Andric  textual header "clang/AST/OperationKinds.def"
28fe013be4SDimitry Andric  textual header "clang/AST/TypeLocNodes.def"
29fe013be4SDimitry Andric
30fe013be4SDimitry Andric  module * { export * }
31fe013be4SDimitry Andric}
32fe013be4SDimitry Andric
33fe013be4SDimitry Andricmodule Clang_ASTMatchers { requires cplusplus umbrella "clang/ASTMatchers" module * { export * } }
34fe013be4SDimitry Andric
35fe013be4SDimitry Andricmodule Clang_Basic {
36fe013be4SDimitry Andric  requires cplusplus
37fe013be4SDimitry Andric  umbrella "clang/Basic"
38fe013be4SDimitry Andric
39fe013be4SDimitry Andric  textual header "clang/Basic/AArch64SVEACLETypes.def"
40fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsAArch64.def"
41fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsAMDGPU.def"
42fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsAArch64NeonSVEBridge.def"
43fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def"
44fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsARM.def"
45fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsBPF.def"
46fe013be4SDimitry Andric  textual header "clang/Basic/Builtins.def"
47fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinHeaders.def"
48fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsHexagon.def"
49fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsHexagonDep.def"
50fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsHexagonMapCustomDep.def"
51fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArch.def"
52*c9157d92SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchBase.def"
53*c9157d92SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchLSX.def"
54*c9157d92SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchLASX.def"
55fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsMips.def"
56fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsNEON.def"
57fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsNVPTX.def"
58fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsPPC.def"
59fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsRISCV.def"
60fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsRISCVVector.def"
61fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsSME.def"
62fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsSVE.def"
63fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsSystemZ.def"
64fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsVE.def"
65fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsVEVL.gen.def"
66fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsWebAssembly.def"
67fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsX86.def"
68fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsX86_64.def"
69fe013be4SDimitry Andric  textual header "clang/Basic/BuiltinsXCore.def"
70fe013be4SDimitry Andric  textual header "clang/Basic/CodeGenOptions.def"
71*c9157d92SDimitry Andric  textual header "clang/Basic/DebugOptions.def"
72fe013be4SDimitry Andric  textual header "clang/Basic/DiagnosticOptions.def"
73fe013be4SDimitry Andric  textual header "clang/Basic/Features.def"
74fe013be4SDimitry Andric  textual header "clang/Basic/FPOptions.def"
75fe013be4SDimitry Andric  textual header "clang/Basic/MSP430Target.def"
76fe013be4SDimitry Andric  textual header "clang/Basic/LangOptions.def"
77fe013be4SDimitry Andric  textual header "clang/Basic/OpenCLExtensions.def"
78fe013be4SDimitry Andric  textual header "clang/Basic/OpenCLImageTypes.def"
79fe013be4SDimitry Andric  textual header "clang/Basic/OpenCLExtensionTypes.def"
80fe013be4SDimitry Andric  textual header "clang/Basic/OpenMPKinds.def"
81fe013be4SDimitry Andric  textual header "clang/Basic/OperatorKinds.def"
82fe013be4SDimitry Andric  textual header "clang/Basic/PPCTypes.def"
83fe013be4SDimitry Andric  textual header "clang/Basic/RISCVVTypes.def"
84fe013be4SDimitry Andric  textual header "clang/Basic/Sanitizers.def"
85fe013be4SDimitry Andric  textual header "clang/Basic/TargetCXXABI.def"
86fe013be4SDimitry Andric  textual header "clang/Basic/TransformTypeTraits.def"
87fe013be4SDimitry Andric  textual header "clang/Basic/TokenKinds.def"
88fe013be4SDimitry Andric  textual header "clang/Basic/WebAssemblyReferenceTypes.def"
89fe013be4SDimitry Andric
90fe013be4SDimitry Andric  module * { export * }
91fe013be4SDimitry Andric}
92fe013be4SDimitry Andricmodule Clang_Basic_TokenKinds {
93fe013be4SDimitry Andric  requires cplusplus
94fe013be4SDimitry Andric
95fe013be4SDimitry Andric  header "clang/Basic/TokenKinds.h"
96fe013be4SDimitry Andric  textual header "clang/Basic/TokenKinds.def"
97fe013be4SDimitry Andric
98fe013be4SDimitry Andric  export *
99fe013be4SDimitry Andric}
100fe013be4SDimitry Andric
101fe013be4SDimitry Andricmodule Clang_CodeGen { requires cplusplus umbrella "clang/CodeGen" module * { export * } }
102fe013be4SDimitry Andricmodule Clang_Config { requires cplusplus umbrella "clang/Config" module * { export * } }
103fe013be4SDimitry Andric
104fe013be4SDimitry Andric// Files for diagnostic groups are spread all over the include/clang/ tree, but
105fe013be4SDimitry Andric// logically form a single module.
106fe013be4SDimitry Andricmodule Clang_Diagnostics {
107fe013be4SDimitry Andric  requires cplusplus
108fe013be4SDimitry Andric
109fe013be4SDimitry Andric  module All { header "clang/Basic/AllDiagnostics.h" export * }
110fe013be4SDimitry Andric  module Analysis { textual header "clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def" }
111fe013be4SDimitry Andric  module AST { header "clang/AST/ASTDiagnostic.h" export * }
112fe013be4SDimitry Andric  module Comment { header "clang/AST/CommentDiagnostic.h" export * }
113fe013be4SDimitry Andric  module Driver { header "clang/Driver/DriverDiagnostic.h" export * }
114fe013be4SDimitry Andric  module Frontend { header "clang/Frontend/FrontendDiagnostic.h" export * }
115fe013be4SDimitry Andric  module Lex { header "clang/Lex/LexDiagnostic.h" export * }
116fe013be4SDimitry Andric  module Parse { header "clang/Parse/ParseDiagnostic.h" export * }
117fe013be4SDimitry Andric  module Sema { header "clang/Sema/SemaDiagnostic.h" export * }
118fe013be4SDimitry Andric  module Serialization { header "clang/Serialization/SerializationDiagnostic.h" export * }
119fe013be4SDimitry Andric  module Refactoring { header "clang/Tooling/Refactoring/RefactoringDiagnostic.h" export * }
120fe013be4SDimitry Andric}
121fe013be4SDimitry Andric
122fe013be4SDimitry Andricmodule Clang_Driver {
123fe013be4SDimitry Andric  requires cplusplus
124fe013be4SDimitry Andric  umbrella "clang/Driver"
125fe013be4SDimitry Andric
126fe013be4SDimitry Andric  textual header "clang/Driver/Types.def"
127fe013be4SDimitry Andric
128fe013be4SDimitry Andric  module * { export * }
129fe013be4SDimitry Andric}
130fe013be4SDimitry Andric
131fe013be4SDimitry Andricmodule Clang_Edit { requires cplusplus umbrella "clang/Edit" module * { export * } }
132fe013be4SDimitry Andricmodule Clang_Format { requires cplusplus umbrella "clang/Format" module * { export * } }
133fe013be4SDimitry Andric
134fe013be4SDimitry Andricmodule Clang_Frontend {
135fe013be4SDimitry Andric  requires cplusplus
136fe013be4SDimitry Andric  umbrella "clang/Frontend"
137fe013be4SDimitry Andric
138fe013be4SDimitry Andric  textual header "clang/Basic/LangStandards.def"
139fe013be4SDimitry Andric
140fe013be4SDimitry Andric  module * { export * }
141fe013be4SDimitry Andric}
142fe013be4SDimitry Andric
143fe013be4SDimitry Andricmodule Clang_FrontendTool { requires cplusplus umbrella "clang/FrontendTool" module * { export * } }
144fe013be4SDimitry Andricmodule Clang_Index { requires cplusplus umbrella "clang/Index" module * { export * } }
145fe013be4SDimitry Andricmodule Clang_Lex { requires cplusplus umbrella "clang/Lex" module * { export * } }
146fe013be4SDimitry Andricmodule Clang_Parse { requires cplusplus umbrella "clang/Parse" module * { export * } }
147fe013be4SDimitry Andricmodule Clang_Rewrite { requires cplusplus umbrella "clang/Rewrite/Core" module * { export * } }
148fe013be4SDimitry Andricmodule Clang_RewriteFrontend { requires cplusplus umbrella "clang/Rewrite/Frontend" module * { export * } }
149fe013be4SDimitry Andricmodule Clang_Sema { requires cplusplus umbrella "clang/Sema" module * { export * } }
150fe013be4SDimitry Andric
151fe013be4SDimitry Andricmodule Clang_Serialization {
152fe013be4SDimitry Andric  requires cplusplus
153fe013be4SDimitry Andric  umbrella "clang/Serialization"
154fe013be4SDimitry Andric
155fe013be4SDimitry Andric  textual header "clang/Serialization/TypeBitCodes.def"
156fe013be4SDimitry Andric
157fe013be4SDimitry Andric  module * { export * }
158fe013be4SDimitry Andric}
159fe013be4SDimitry Andric
160fe013be4SDimitry Andricmodule Clang_StaticAnalyzer_Core {
161fe013be4SDimitry Andric  requires cplusplus
162fe013be4SDimitry Andric  umbrella "clang/StaticAnalyzer/Core"
163fe013be4SDimitry Andric
164fe013be4SDimitry Andric  textual header "clang/StaticAnalyzer/Core/Analyses.def"
165fe013be4SDimitry Andric  textual header "clang/StaticAnalyzer/Core/AnalyzerOptions.def"
166fe013be4SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"
167fe013be4SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/Symbols.def"
168fe013be4SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/Regions.def"
169fe013be4SDimitry Andric
170fe013be4SDimitry Andric  module * { export * }
171fe013be4SDimitry Andric}
172fe013be4SDimitry Andric
173fe013be4SDimitry Andricmodule Clang_StaticAnalyzer_Checkers {
174fe013be4SDimitry Andric  requires cplusplus
175fe013be4SDimitry Andric  umbrella "clang/StaticAnalyzer/Checkers"
176fe013be4SDimitry Andric  module * { export * }
177fe013be4SDimitry Andric}
178fe013be4SDimitry Andric
179fe013be4SDimitry Andricmodule Clang_StaticAnalyzer_Frontend {
180fe013be4SDimitry Andric  requires cplusplus
181fe013be4SDimitry Andric  umbrella "clang/StaticAnalyzer/Frontend"
182fe013be4SDimitry Andric  module * { export * }
183fe013be4SDimitry Andric}
184fe013be4SDimitry Andric
185fe013be4SDimitry Andricmodule Clang_Testing {
186fe013be4SDimitry Andric  requires cplusplus
187fe013be4SDimitry Andric  umbrella "clang/Testing"
188fe013be4SDimitry Andric  module * { export * }
189fe013be4SDimitry Andric}
190fe013be4SDimitry Andric
191fe013be4SDimitry Andricmodule Clang_Tooling {
192fe013be4SDimitry Andric  requires cplusplus umbrella "clang/Tooling" module * { export * }
193fe013be4SDimitry Andric  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
194fe013be4SDimitry Andric  // library into clang-format. Due to inline key functions in the headers,
195fe013be4SDimitry Andric  // importing the AST matchers library gives a link dependency on the AST
196fe013be4SDimitry Andric  // matchers (and thus the AST), which clang-format should not have.
197fe013be4SDimitry Andric  exclude header "clang/Tooling/RefactoringCallbacks.h"
198fe013be4SDimitry Andric}
199fe013be4SDimitry Andric
200fe013be4SDimitry Andricmodule Clang_ToolingCore {
201fe013be4SDimitry Andric  requires cplusplus
202fe013be4SDimitry Andric  umbrella "clang/Tooling/Core" module * { export * }
203fe013be4SDimitry Andric}
204fe013be4SDimitry Andric
205fe013be4SDimitry Andricmodule Clang_ToolingInclusions {
206fe013be4SDimitry Andric  requires cplusplus
207fe013be4SDimitry Andric  umbrella "clang/Tooling/Inclusions"
208fe013be4SDimitry Andric  module * { export * }
209fe013be4SDimitry Andric}
210