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