xref: /freebsd/contrib/llvm-project/clang/include/module.modulemap (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
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
3906c3fb27SDimitry Andric  textual header "clang/Basic/AArch64SVEACLETypes.def"
40*0fca6ea1SDimitry Andric  textual header "clang/Basic/AMDGPUTypes.def"
41*0fca6ea1SDimitry 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"
45*0fca6ea1SDimitry Andric  textual header "clang/Basic/BuiltinsAMDGPU.def"
4606c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsARM.def"
4706c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsHexagon.def"
4806c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsHexagonDep.def"
4906c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsHexagonMapCustomDep.def"
5006c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArch.def"
515f757f3fSDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchBase.def"
525f757f3fSDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchLASX.def"
53*0fca6ea1SDimitry Andric  textual header "clang/Basic/BuiltinsLoongArchLSX.def"
5406c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsMips.def"
5506c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsNEON.def"
5606c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsNVPTX.def"
5706c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsPPC.def"
5806c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsRISCVVector.def"
5906c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsSME.def"
6006c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsSVE.def"
6106c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsSystemZ.def"
6206c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsVE.def"
6306c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsVEVL.gen.def"
6406c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsWebAssembly.def"
6506c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsX86.def"
6606c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsX86_64.def"
6706c3fb27SDimitry Andric  textual header "clang/Basic/BuiltinsXCore.def"
6806c3fb27SDimitry Andric  textual header "clang/Basic/CodeGenOptions.def"
695f757f3fSDimitry Andric  textual header "clang/Basic/DebugOptions.def"
7006c3fb27SDimitry Andric  textual header "clang/Basic/DiagnosticOptions.def"
7106c3fb27SDimitry Andric  textual header "clang/Basic/FPOptions.def"
72*0fca6ea1SDimitry Andric  textual header "clang/Basic/Features.def"
7306c3fb27SDimitry Andric  textual header "clang/Basic/LangOptions.def"
74*0fca6ea1SDimitry Andric  textual header "clang/Basic/MSP430Target.def"
75*0fca6ea1SDimitry Andric  textual header "clang/Basic/OpenACCClauses.def"
76*0fca6ea1SDimitry Andric  textual header "clang/Basic/OpenCLExtensionTypes.def"
7706c3fb27SDimitry Andric  textual header "clang/Basic/OpenCLExtensions.def"
7806c3fb27SDimitry Andric  textual header "clang/Basic/OpenCLImageTypes.def"
7906c3fb27SDimitry Andric  textual header "clang/Basic/OpenMPKinds.def"
8006c3fb27SDimitry Andric  textual header "clang/Basic/OperatorKinds.def"
8106c3fb27SDimitry Andric  textual header "clang/Basic/PPCTypes.def"
8206c3fb27SDimitry Andric  textual header "clang/Basic/RISCVVTypes.def"
8306c3fb27SDimitry Andric  textual header "clang/Basic/Sanitizers.def"
8406c3fb27SDimitry Andric  textual header "clang/Basic/TargetCXXABI.def"
85*0fca6ea1SDimitry Andric  textual header "clang/Basic/TargetOSMacros.def"
8606c3fb27SDimitry Andric  textual header "clang/Basic/TokenKinds.def"
87*0fca6ea1SDimitry Andric  textual header "clang/Basic/TransformTypeTraits.def"
8806c3fb27SDimitry Andric  textual header "clang/Basic/WebAssemblyReferenceTypes.def"
8906c3fb27SDimitry Andric
9006c3fb27SDimitry Andric  module * { export * }
9106c3fb27SDimitry Andric}
9206c3fb27SDimitry Andricmodule Clang_Basic_TokenKinds {
9306c3fb27SDimitry Andric  requires cplusplus
9406c3fb27SDimitry Andric
9506c3fb27SDimitry Andric  header "clang/Basic/TokenKinds.h"
9606c3fb27SDimitry Andric  textual header "clang/Basic/TokenKinds.def"
9706c3fb27SDimitry Andric
9806c3fb27SDimitry Andric  export *
9906c3fb27SDimitry Andric}
10006c3fb27SDimitry Andric
10106c3fb27SDimitry Andricmodule Clang_CodeGen { requires cplusplus umbrella "clang/CodeGen" module * { export * } }
10206c3fb27SDimitry Andricmodule Clang_Config { requires cplusplus umbrella "clang/Config" module * { export * } }
10306c3fb27SDimitry Andric
10406c3fb27SDimitry Andric// Files for diagnostic groups are spread all over the include/clang/ tree, but
10506c3fb27SDimitry Andric// logically form a single module.
10606c3fb27SDimitry Andricmodule Clang_Diagnostics {
10706c3fb27SDimitry Andric  requires cplusplus
10806c3fb27SDimitry Andric
10906c3fb27SDimitry Andric  module All { header "clang/Basic/AllDiagnostics.h" export * }
11006c3fb27SDimitry Andric  module Analysis { textual header "clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def" }
11106c3fb27SDimitry Andric  module AST { header "clang/AST/ASTDiagnostic.h" export * }
11206c3fb27SDimitry Andric  module Comment { header "clang/AST/CommentDiagnostic.h" export * }
11306c3fb27SDimitry Andric  module Driver { header "clang/Driver/DriverDiagnostic.h" export * }
11406c3fb27SDimitry Andric  module Frontend { header "clang/Frontend/FrontendDiagnostic.h" export * }
11506c3fb27SDimitry Andric  module Lex { header "clang/Lex/LexDiagnostic.h" export * }
11606c3fb27SDimitry Andric  module Parse { header "clang/Parse/ParseDiagnostic.h" export * }
11706c3fb27SDimitry Andric  module Sema { header "clang/Sema/SemaDiagnostic.h" export * }
11806c3fb27SDimitry Andric  module Serialization { header "clang/Serialization/SerializationDiagnostic.h" export * }
11906c3fb27SDimitry Andric  module Refactoring { header "clang/Tooling/Refactoring/RefactoringDiagnostic.h" export * }
12006c3fb27SDimitry Andric}
12106c3fb27SDimitry Andric
12206c3fb27SDimitry Andricmodule Clang_Driver {
12306c3fb27SDimitry Andric  requires cplusplus
12406c3fb27SDimitry Andric  umbrella "clang/Driver"
12506c3fb27SDimitry Andric
12606c3fb27SDimitry Andric  textual header "clang/Driver/Types.def"
12706c3fb27SDimitry Andric
12806c3fb27SDimitry Andric  module * { export * }
12906c3fb27SDimitry Andric}
13006c3fb27SDimitry Andric
13106c3fb27SDimitry Andricmodule Clang_Edit { requires cplusplus umbrella "clang/Edit" module * { export * } }
13206c3fb27SDimitry Andricmodule Clang_Format { requires cplusplus umbrella "clang/Format" module * { export * } }
13306c3fb27SDimitry Andric
13406c3fb27SDimitry Andricmodule Clang_Frontend {
13506c3fb27SDimitry Andric  requires cplusplus
13606c3fb27SDimitry Andric  umbrella "clang/Frontend"
13706c3fb27SDimitry Andric
13806c3fb27SDimitry Andric  textual header "clang/Basic/LangStandards.def"
13906c3fb27SDimitry Andric
14006c3fb27SDimitry Andric  module * { export * }
14106c3fb27SDimitry Andric}
14206c3fb27SDimitry Andric
14306c3fb27SDimitry Andricmodule Clang_FrontendTool { requires cplusplus umbrella "clang/FrontendTool" module * { export * } }
14406c3fb27SDimitry Andricmodule Clang_Index { requires cplusplus umbrella "clang/Index" module * { export * } }
14506c3fb27SDimitry Andricmodule Clang_Lex { requires cplusplus umbrella "clang/Lex" module * { export * } }
14606c3fb27SDimitry Andricmodule Clang_Parse { requires cplusplus umbrella "clang/Parse" module * { export * } }
14706c3fb27SDimitry Andricmodule Clang_Rewrite { requires cplusplus umbrella "clang/Rewrite/Core" module * { export * } }
14806c3fb27SDimitry Andricmodule Clang_RewriteFrontend { requires cplusplus umbrella "clang/Rewrite/Frontend" module * { export * } }
14906c3fb27SDimitry Andricmodule Clang_Sema { requires cplusplus umbrella "clang/Sema" module * { export * } }
15006c3fb27SDimitry Andric
15106c3fb27SDimitry Andricmodule Clang_Serialization {
15206c3fb27SDimitry Andric  requires cplusplus
15306c3fb27SDimitry Andric  umbrella "clang/Serialization"
15406c3fb27SDimitry Andric
15506c3fb27SDimitry Andric  textual header "clang/Serialization/TypeBitCodes.def"
15606c3fb27SDimitry Andric
15706c3fb27SDimitry Andric  module * { export * }
15806c3fb27SDimitry Andric}
15906c3fb27SDimitry Andric
16006c3fb27SDimitry Andricmodule Clang_StaticAnalyzer_Core {
16106c3fb27SDimitry Andric  requires cplusplus
16206c3fb27SDimitry Andric  umbrella "clang/StaticAnalyzer/Core"
16306c3fb27SDimitry Andric
16406c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/Analyses.def"
16506c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/AnalyzerOptions.def"
16606c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"
16706c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/Symbols.def"
16806c3fb27SDimitry Andric  textual header "clang/StaticAnalyzer/Core/PathSensitive/Regions.def"
16906c3fb27SDimitry Andric
17006c3fb27SDimitry Andric  module * { export * }
17106c3fb27SDimitry Andric}
17206c3fb27SDimitry Andric
17306c3fb27SDimitry Andricmodule Clang_StaticAnalyzer_Checkers {
17406c3fb27SDimitry Andric  requires cplusplus
17506c3fb27SDimitry Andric  umbrella "clang/StaticAnalyzer/Checkers"
17606c3fb27SDimitry Andric  module * { export * }
17706c3fb27SDimitry Andric}
17806c3fb27SDimitry Andric
17906c3fb27SDimitry Andricmodule Clang_StaticAnalyzer_Frontend {
18006c3fb27SDimitry Andric  requires cplusplus
18106c3fb27SDimitry Andric  umbrella "clang/StaticAnalyzer/Frontend"
18206c3fb27SDimitry Andric  module * { export * }
18306c3fb27SDimitry Andric}
18406c3fb27SDimitry Andric
18506c3fb27SDimitry Andricmodule Clang_Testing {
18606c3fb27SDimitry Andric  requires cplusplus
18706c3fb27SDimitry Andric  umbrella "clang/Testing"
18806c3fb27SDimitry Andric  module * { export * }
18906c3fb27SDimitry Andric}
19006c3fb27SDimitry Andric
19106c3fb27SDimitry Andricmodule Clang_Tooling {
19206c3fb27SDimitry Andric  requires cplusplus umbrella "clang/Tooling" module * { export * }
19306c3fb27SDimitry Andric  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
19406c3fb27SDimitry Andric  // library into clang-format. Due to inline key functions in the headers,
19506c3fb27SDimitry Andric  // importing the AST matchers library gives a link dependency on the AST
19606c3fb27SDimitry Andric  // matchers (and thus the AST), which clang-format should not have.
19706c3fb27SDimitry Andric  exclude header "clang/Tooling/RefactoringCallbacks.h"
19806c3fb27SDimitry Andric}
19906c3fb27SDimitry Andric
20006c3fb27SDimitry Andricmodule Clang_ToolingCore {
20106c3fb27SDimitry Andric  requires cplusplus
20206c3fb27SDimitry Andric  umbrella "clang/Tooling/Core" module * { export * }
20306c3fb27SDimitry Andric}
20406c3fb27SDimitry Andric
20506c3fb27SDimitry Andricmodule Clang_ToolingInclusions {
20606c3fb27SDimitry Andric  requires cplusplus
20706c3fb27SDimitry Andric  umbrella "clang/Tooling/Inclusions"
20806c3fb27SDimitry Andric  module * { export * }
20906c3fb27SDimitry Andric}
210