xref: /freebsd/contrib/llvm-project/clang/include/module.modulemap (revision 700637cbb5e582861067a11aaca4d053546871d2)
106c3fb27SDimitry Andricmodule Clang_C {
206c3fb27SDimitry Andric  umbrella "clang-c"
306c3fb27SDimitry Andric  module * { export * }
406c3fb27SDimitry Andric}
506c3fb27SDimitry Andric
606c3fb27SDimitry Andricmodule Clang_Analysis {
706c3fb27SDimitry Andric  requires cplusplus
806c3fb27SDimitry Andric  umbrella "clang/Analysis"
906c3fb27SDimitry Andric
1006c3fb27SDimitry Andric  textual header "clang/Analysis/Analyses/ThreadSafetyOps.def"
1106c3fb27SDimitry Andric
1206c3fb27SDimitry Andric  module * { export * }
1306c3fb27SDimitry Andric
1406c3fb27SDimitry Andric  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
1506c3fb27SDimitry Andric  // library into clang. Due to inline key functions in the headers,
1606c3fb27SDimitry Andric  // importing the AST matchers library gives a link dependency on the AST
1706c3fb27SDimitry Andric  // matchers (and thus the AST), which clang-format should not have.
1806c3fb27SDimitry Andric  exclude header "clang/Analysis/Analyses/ExprMutationAnalyzer.h"
1906c3fb27SDimitry Andric}
2006c3fb27SDimitry Andric
2106c3fb27SDimitry Andricmodule Clang_AST {
2206c3fb27SDimitry Andric  requires cplusplus
2306c3fb27SDimitry Andric  umbrella "clang/AST"
2406c3fb27SDimitry Andric
2506c3fb27SDimitry Andric  textual header "clang/AST/BuiltinTypes.def"
2606c3fb27SDimitry Andric  textual header "clang/AST/CXXRecordDeclDefinitionBits.def"
2706c3fb27SDimitry Andric  textual header "clang/AST/OperationKinds.def"
2806c3fb27SDimitry Andric  textual header "clang/AST/TypeLocNodes.def"
2906c3fb27SDimitry Andric
3006c3fb27SDimitry Andric  module * { export * }
3106c3fb27SDimitry Andric}
3206c3fb27SDimitry Andric
3306c3fb27SDimitry Andricmodule Clang_ASTMatchers { requires cplusplus umbrella "clang/ASTMatchers" module * { export * } }
3406c3fb27SDimitry Andric
3506c3fb27SDimitry Andricmodule Clang_Basic {
3606c3fb27SDimitry Andric  requires cplusplus
3706c3fb27SDimitry Andric  umbrella "clang/Basic"
3806c3fb27SDimitry Andric
39*700637cbSDimitry Andric  textual header "clang/Basic/AArch64ACLETypes.def"
400fca6ea1SDimitry Andric  textual header "clang/Basic/AMDGPUTypes.def"
410fca6ea1SDimitry Andric  textual header "clang/Basic/BuiltinHeaders.def"
4206c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsAArch64.def"
4306c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsAArch64NeonSVEBridge.def"
4406c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def"
450fca6ea1SDimitry Andric  textual header "clang/Basic/BuiltinsAMDGPU.def"
4606c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsARM.def"
4706c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsHexagonMapCustomDep.def"
485f757f3fSDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchBase.def"
495f757f3fSDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchLASX.def"
500fca6ea1SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchLSX.def"
5106c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsMips.def"
5206c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsPPC.def"
5306c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsSystemZ.def"
5406c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsVE.def"
5506c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsVEVL.gen.def"
5606c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsWebAssembly.def"
5706c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsXCore.def"
58*700637cbSDimitry Andric  textual header "clang/Basic/CFProtectionOptions.def"
5906c3fb27SDimitry Andric  textual header "clang/Basic/CodeGenOptions.def"
605f757f3fSDimitry Andric  textual header "clang/Basic/DebugOptions.def"
6106c3fb27SDimitry Andric  textual header "clang/Basic/DiagnosticOptions.def"
6206c3fb27SDimitry Andric  textual header "clang/Basic/FPOptions.def"
630fca6ea1SDimitry Andric  textual header "clang/Basic/Features.def"
64*700637cbSDimitry Andric  textual header "clang/Basic/HLSLIntangibleTypes.def"
6506c3fb27SDimitry Andric  textual header "clang/Basic/LangOptions.def"
660fca6ea1SDimitry Andric  textual header "clang/Basic/MSP430Target.def"
670fca6ea1SDimitry Andric  textual header "clang/Basic/OpenACCClauses.def"
680fca6ea1SDimitry Andric  textual header "clang/Basic/OpenCLExtensionTypes.def"
6906c3fb27SDimitry Andric  textual header "clang/Basic/OpenCLExtensions.def"
7006c3fb27SDimitry Andric  textual header "clang/Basic/OpenCLImageTypes.def"
7106c3fb27SDimitry Andric  textual header "clang/Basic/OpenMPKinds.def"
7206c3fb27SDimitry Andric  textual header "clang/Basic/OperatorKinds.def"
7306c3fb27SDimitry Andric  textual header "clang/Basic/PPCTypes.def"
7406c3fb27SDimitry Andric  textual header "clang/Basic/RISCVVTypes.def"
7506c3fb27SDimitry Andric  textual header "clang/Basic/Sanitizers.def"
7606c3fb27SDimitry Andric  textual header "clang/Basic/TargetCXXABI.def"
770fca6ea1SDimitry Andric  textual header "clang/Basic/TargetOSMacros.def"
7806c3fb27SDimitry Andric  textual header "clang/Basic/TokenKinds.def"
790fca6ea1SDimitry Andric  textual header "clang/Basic/TransformTypeTraits.def"
8006c3fb27SDimitry Andric  textual header "clang/Basic/WebAssemblyReferenceTypes.def"
8106c3fb27SDimitry Andric
8206c3fb27SDimitry Andric  module * { export * }
8306c3fb27SDimitry Andric}
8406c3fb27SDimitry Andricmodule Clang_Basic_TokenKinds {
8506c3fb27SDimitry Andric  requires cplusplus
8606c3fb27SDimitry Andric
8706c3fb27SDimitry Andric  header "clang/Basic/TokenKinds.h"
8806c3fb27SDimitry Andric  textual header "clang/Basic/TokenKinds.def"
8906c3fb27SDimitry Andric
9006c3fb27SDimitry Andric  export *
9106c3fb27SDimitry Andric}
9206c3fb27SDimitry Andric
9306c3fb27SDimitry Andricmodule Clang_CodeGen { requires cplusplus umbrella "clang/CodeGen" module * { export * } }
9406c3fb27SDimitry Andricmodule Clang_Config { requires cplusplus umbrella "clang/Config" module * { export * } }
9506c3fb27SDimitry Andric
9606c3fb27SDimitry Andric// Files for diagnostic groups are spread all over the include/clang/ tree, but
9706c3fb27SDimitry Andric// logically form a single module.
9806c3fb27SDimitry Andricmodule Clang_Diagnostics {
9906c3fb27SDimitry Andric  requires cplusplus
10006c3fb27SDimitry Andric
10106c3fb27SDimitry Andric  module All { header "clang/Basic/AllDiagnostics.h" export * }
10206c3fb27SDimitry Andric  module Analysis { textual header "clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def" }
10306c3fb27SDimitry Andric  module AST { header "clang/AST/ASTDiagnostic.h" export * }
10406c3fb27SDimitry Andric  module Comment { header "clang/AST/CommentDiagnostic.h" export * }
10506c3fb27SDimitry Andric  module Driver { header "clang/Driver/DriverDiagnostic.h" export * }
10606c3fb27SDimitry Andric  module Frontend { header "clang/Frontend/FrontendDiagnostic.h" export * }
10706c3fb27SDimitry Andric  module Lex { header "clang/Lex/LexDiagnostic.h" export * }
108*700637cbSDimitry Andric  module Parse { header "clang/Basic/DiagnosticParse.h" export * }
10906c3fb27SDimitry Andric  module Serialization { header "clang/Serialization/SerializationDiagnostic.h" export * }
11006c3fb27SDimitry Andric  module Refactoring { header "clang/Tooling/Refactoring/RefactoringDiagnostic.h" export * }
111*700637cbSDimitry Andric
112*700637cbSDimitry Andric  textual header "clang/Basic/AllDiagnosticKinds.inc"
11306c3fb27SDimitry Andric}
11406c3fb27SDimitry Andric
11506c3fb27SDimitry Andricmodule Clang_Driver {
11606c3fb27SDimitry Andric  requires cplusplus
11706c3fb27SDimitry Andric  umbrella "clang/Driver"
11806c3fb27SDimitry Andric
11906c3fb27SDimitry Andric  textual header "clang/Driver/Types.def"
12006c3fb27SDimitry Andric
12106c3fb27SDimitry Andric  module * { export * }
12206c3fb27SDimitry Andric}
12306c3fb27SDimitry Andric
12406c3fb27SDimitry Andricmodule Clang_Edit { requires cplusplus umbrella "clang/Edit" module * { export * } }
12506c3fb27SDimitry Andricmodule Clang_Format { requires cplusplus umbrella "clang/Format" module * { export * } }
12606c3fb27SDimitry Andric
12706c3fb27SDimitry Andricmodule Clang_Frontend {
12806c3fb27SDimitry Andric  requires cplusplus
12906c3fb27SDimitry Andric  umbrella "clang/Frontend"
13006c3fb27SDimitry Andric
13106c3fb27SDimitry Andric  textual header "clang/Basic/LangStandards.def"
13206c3fb27SDimitry Andric
13306c3fb27SDimitry Andric  module * { export * }
13406c3fb27SDimitry Andric}
13506c3fb27SDimitry Andric
13606c3fb27SDimitry Andricmodule Clang_FrontendTool { requires cplusplus umbrella "clang/FrontendTool" module * { export * } }
13706c3fb27SDimitry Andricmodule Clang_Index { requires cplusplus umbrella "clang/Index" module * { export * } }
138*700637cbSDimitry Andric
139*700637cbSDimitry Andricmodule Clang_Lex {
140*700637cbSDimitry Andric  requires cplusplus
141*700637cbSDimitry Andric  umbrella "clang/Lex"
142*700637cbSDimitry Andric
143*700637cbSDimitry Andric  textual header "clang/Lex/HLSLRootSignatureTokenKinds.def"
144*700637cbSDimitry Andric
145*700637cbSDimitry Andric  module * { export * }
146*700637cbSDimitry Andric}
147*700637cbSDimitry Andric
14806c3fb27SDimitry Andricmodule Clang_Parse { requires cplusplus umbrella "clang/Parse" module * { export * } }
14906c3fb27SDimitry Andricmodule Clang_Rewrite { requires cplusplus umbrella "clang/Rewrite/Core" module * { export * } }
15006c3fb27SDimitry Andricmodule Clang_RewriteFrontend { requires cplusplus umbrella "clang/Rewrite/Frontend" module * { export * } }
15106c3fb27SDimitry Andricmodule Clang_Sema { requires cplusplus umbrella "clang/Sema" module * { export * } }
15206c3fb27SDimitry Andric
15306c3fb27SDimitry Andricmodule Clang_Serialization {
15406c3fb27SDimitry Andric  requires cplusplus
15506c3fb27SDimitry Andric  umbrella "clang/Serialization"
15606c3fb27SDimitry Andric
15706c3fb27SDimitry Andric  textual header "clang/Serialization/TypeBitCodes.def"
15806c3fb27SDimitry Andric
15906c3fb27SDimitry Andric  module * { export * }
16006c3fb27SDimitry Andric}
16106c3fb27SDimitry Andric
16206c3fb27SDimitry Andricmodule Clang_StaticAnalyzer_Core {
16306c3fb27SDimitry Andric  requires cplusplus
16406c3fb27SDimitry Andric  umbrella "clang/StaticAnalyzer/Core"
16506c3fb27SDimitry Andric
16606c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/Analyses.def"
16706c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/AnalyzerOptions.def"
16806c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"
16906c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/Symbols.def"
17006c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/Regions.def"
17106c3fb27SDimitry Andric
17206c3fb27SDimitry Andric  module * { export * }
17306c3fb27SDimitry Andric}
17406c3fb27SDimitry Andric
17506c3fb27SDimitry Andricmodule Clang_StaticAnalyzer_Checkers {
17606c3fb27SDimitry Andric  requires cplusplus
17706c3fb27SDimitry Andric  umbrella "clang/StaticAnalyzer/Checkers"
17806c3fb27SDimitry Andric  module * { export * }
17906c3fb27SDimitry Andric}
18006c3fb27SDimitry Andric
18106c3fb27SDimitry Andricmodule Clang_StaticAnalyzer_Frontend {
18206c3fb27SDimitry Andric  requires cplusplus
18306c3fb27SDimitry Andric  umbrella "clang/StaticAnalyzer/Frontend"
18406c3fb27SDimitry Andric  module * { export * }
18506c3fb27SDimitry Andric}
18606c3fb27SDimitry Andric
187*700637cbSDimitry Andricmodule Clang_Support { requires cplusplus umbrella "clang/Support" module * { export * } }
188*700637cbSDimitry Andric
18906c3fb27SDimitry Andricmodule Clang_Testing {
19006c3fb27SDimitry Andric  requires cplusplus
19106c3fb27SDimitry Andric  umbrella "clang/Testing"
192*700637cbSDimitry Andric
193*700637cbSDimitry Andric  textual header "clang/Testing/TestLanguage.def"
194*700637cbSDimitry Andric
19506c3fb27SDimitry Andric  module * { export * }
19606c3fb27SDimitry Andric}
19706c3fb27SDimitry Andric
19806c3fb27SDimitry Andricmodule Clang_Tooling {
19906c3fb27SDimitry Andric  requires cplusplus umbrella "clang/Tooling" module * { export * }
20006c3fb27SDimitry Andric  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
20106c3fb27SDimitry Andric  // library into clang-format. Due to inline key functions in the headers,
20206c3fb27SDimitry Andric  // importing the AST matchers library gives a link dependency on the AST
20306c3fb27SDimitry Andric  // matchers (and thus the AST), which clang-format should not have.
20406c3fb27SDimitry Andric  exclude header "clang/Tooling/RefactoringCallbacks.h"
20506c3fb27SDimitry Andric}
20606c3fb27SDimitry Andric
20706c3fb27SDimitry Andricmodule Clang_ToolingCore {
20806c3fb27SDimitry Andric  requires cplusplus
20906c3fb27SDimitry Andric  umbrella "clang/Tooling/Core" module * { export * }
21006c3fb27SDimitry Andric}
21106c3fb27SDimitry Andric
21206c3fb27SDimitry Andricmodule Clang_ToolingInclusions {
21306c3fb27SDimitry Andric  requires cplusplus
21406c3fb27SDimitry Andric  umbrella "clang/Tooling/Inclusions"
21506c3fb27SDimitry Andric  module * { export * }
21606c3fb27SDimitry Andric}
217