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