xref: /freebsd/contrib/llvm-project/clang/include/module.modulemap (revision e64bea71c21eb42e97aa615188ba91f6cce0d36d)
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/AArch64ACLETypes.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/BuiltinsHexagonMapCustomDep.def"
48  textual header "clang/Basic/BuiltinsLoongArchBase.def"
49  textual header "clang/Basic/BuiltinsLoongArchLASX.def"
50  textual header "clang/Basic/BuiltinsLoongArchLSX.def"
51  textual header "clang/Basic/BuiltinsMips.def"
52  textual header "clang/Basic/BuiltinsPPC.def"
53  textual header "clang/Basic/BuiltinsSystemZ.def"
54  textual header "clang/Basic/BuiltinsVE.def"
55  textual header "clang/Basic/BuiltinsVEVL.gen.def"
56  textual header "clang/Basic/BuiltinsWebAssembly.def"
57  textual header "clang/Basic/BuiltinsXCore.def"
58  textual header "clang/Basic/CFProtectionOptions.def"
59  textual header "clang/Basic/CodeGenOptions.def"
60  textual header "clang/Basic/DebugOptions.def"
61  textual header "clang/Basic/DiagnosticOptions.def"
62  textual header "clang/Basic/FPOptions.def"
63  textual header "clang/Basic/Features.def"
64  textual header "clang/Basic/HLSLIntangibleTypes.def"
65  textual header "clang/Basic/LangOptions.def"
66  textual header "clang/Basic/MSP430Target.def"
67  textual header "clang/Basic/OpenACCClauses.def"
68  textual header "clang/Basic/OpenCLExtensionTypes.def"
69  textual header "clang/Basic/OpenCLExtensions.def"
70  textual header "clang/Basic/OpenCLImageTypes.def"
71  textual header "clang/Basic/OpenMPKinds.def"
72  textual header "clang/Basic/OperatorKinds.def"
73  textual header "clang/Basic/PPCTypes.def"
74  textual header "clang/Basic/RISCVVTypes.def"
75  textual header "clang/Basic/Sanitizers.def"
76  textual header "clang/Basic/TargetCXXABI.def"
77  textual header "clang/Basic/TargetOSMacros.def"
78  textual header "clang/Basic/TokenKinds.def"
79  textual header "clang/Basic/TransformTypeTraits.def"
80  textual header "clang/Basic/WebAssemblyReferenceTypes.def"
81
82  module * { export * }
83}
84module Clang_Basic_TokenKinds {
85  requires cplusplus
86
87  header "clang/Basic/TokenKinds.h"
88  textual header "clang/Basic/TokenKinds.def"
89
90  export *
91}
92
93module Clang_CodeGen { requires cplusplus umbrella "clang/CodeGen" module * { export * } }
94module Clang_Config { requires cplusplus umbrella "clang/Config" module * { export * } }
95
96// Files for diagnostic groups are spread all over the include/clang/ tree, but
97// logically form a single module.
98module Clang_Diagnostics {
99  requires cplusplus
100
101  module All { header "clang/Basic/AllDiagnostics.h" export * }
102  module Analysis { textual header "clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def" }
103  module AST { header "clang/AST/ASTDiagnostic.h" export * }
104  module Comment { header "clang/AST/CommentDiagnostic.h" export * }
105  module Driver { header "clang/Driver/DriverDiagnostic.h" export * }
106  module Frontend { header "clang/Frontend/FrontendDiagnostic.h" export * }
107  module Lex { header "clang/Lex/LexDiagnostic.h" export * }
108  module Parse { header "clang/Basic/DiagnosticParse.h" export * }
109  module Serialization { header "clang/Serialization/SerializationDiagnostic.h" export * }
110  module Refactoring { header "clang/Tooling/Refactoring/RefactoringDiagnostic.h" export * }
111
112  textual header "clang/Basic/AllDiagnosticKinds.inc"
113}
114
115module Clang_Driver {
116  requires cplusplus
117  umbrella "clang/Driver"
118
119  textual header "clang/Driver/Types.def"
120
121  module * { export * }
122}
123
124module Clang_Edit { requires cplusplus umbrella "clang/Edit" module * { export * } }
125module Clang_Format { requires cplusplus umbrella "clang/Format" module * { export * } }
126
127module Clang_Frontend {
128  requires cplusplus
129  umbrella "clang/Frontend"
130
131  textual header "clang/Basic/LangStandards.def"
132
133  module * { export * }
134}
135
136module Clang_FrontendTool { requires cplusplus umbrella "clang/FrontendTool" module * { export * } }
137module Clang_Index { requires cplusplus umbrella "clang/Index" module * { export * } }
138
139module Clang_Lex {
140  requires cplusplus
141  umbrella "clang/Lex"
142
143  textual header "clang/Lex/HLSLRootSignatureTokenKinds.def"
144
145  module * { export * }
146}
147
148module Clang_Parse { requires cplusplus umbrella "clang/Parse" module * { export * } }
149module Clang_Rewrite { requires cplusplus umbrella "clang/Rewrite/Core" module * { export * } }
150module Clang_RewriteFrontend { requires cplusplus umbrella "clang/Rewrite/Frontend" module * { export * } }
151module Clang_Sema { requires cplusplus umbrella "clang/Sema" module * { export * } }
152
153module Clang_Serialization {
154  requires cplusplus
155  umbrella "clang/Serialization"
156
157  textual header "clang/Serialization/TypeBitCodes.def"
158
159  module * { export * }
160}
161
162module Clang_StaticAnalyzer_Core {
163  requires cplusplus
164  umbrella "clang/StaticAnalyzer/Core"
165
166  textual header "clang/StaticAnalyzer/Core/Analyses.def"
167  textual header "clang/StaticAnalyzer/Core/AnalyzerOptions.def"
168  textual header "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"
169  textual header "clang/StaticAnalyzer/Core/PathSensitive/Symbols.def"
170  textual header "clang/StaticAnalyzer/Core/PathSensitive/Regions.def"
171
172  module * { export * }
173}
174
175module Clang_StaticAnalyzer_Checkers {
176  requires cplusplus
177  umbrella "clang/StaticAnalyzer/Checkers"
178  module * { export * }
179}
180
181module Clang_StaticAnalyzer_Frontend {
182  requires cplusplus
183  umbrella "clang/StaticAnalyzer/Frontend"
184  module * { export * }
185}
186
187module Clang_Support { requires cplusplus umbrella "clang/Support" module * { export * } }
188
189module Clang_Testing {
190  requires cplusplus
191  umbrella "clang/Testing"
192
193  textual header "clang/Testing/TestLanguage.def"
194
195  module * { export * }
196}
197
198module Clang_Tooling {
199  requires cplusplus umbrella "clang/Tooling" module * { export * }
200  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
201  // library into clang-format. Due to inline key functions in the headers,
202  // importing the AST matchers library gives a link dependency on the AST
203  // matchers (and thus the AST), which clang-format should not have.
204  exclude header "clang/Tooling/RefactoringCallbacks.h"
205}
206
207module Clang_ToolingCore {
208  requires cplusplus
209  umbrella "clang/Tooling/Core" module * { export * }
210}
211
212module Clang_ToolingInclusions {
213  requires cplusplus
214  umbrella "clang/Tooling/Inclusions"
215  module * { export * }
216}
217