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