module Clang_C { umbrella "clang-c" module * { export * } } module Clang_Analysis { requires cplusplus umbrella "clang/Analysis" textual header "clang/Analysis/Analyses/ThreadSafetyOps.def" module * { export * } // FIXME: Exclude these headers to avoid pulling all of the AST matchers // library into clang. Due to inline key functions in the headers, // importing the AST matchers library gives a link dependency on the AST // matchers (and thus the AST), which clang-format should not have. exclude header "clang/Analysis/Analyses/ExprMutationAnalyzer.h" } module Clang_AST { requires cplusplus umbrella "clang/AST" textual header "clang/AST/BuiltinTypes.def" textual header "clang/AST/CXXRecordDeclDefinitionBits.def" textual header "clang/AST/OperationKinds.def" textual header "clang/AST/TypeLocNodes.def" module * { export * } } module Clang_ASTMatchers { requires cplusplus umbrella "clang/ASTMatchers" module * { export * } } module Clang_Basic { requires cplusplus umbrella "clang/Basic" textual header "clang/Basic/AArch64SVEACLETypes.def" textual header "clang/Basic/BuiltinsAArch64.def" textual header "clang/Basic/BuiltinsAMDGPU.def" textual header "clang/Basic/BuiltinsAArch64NeonSVEBridge.def" textual header "clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def" textual header "clang/Basic/BuiltinsARM.def" textual header "clang/Basic/BuiltinsBPF.def" textual header "clang/Basic/Builtins.def" textual header "clang/Basic/BuiltinHeaders.def" textual header "clang/Basic/BuiltinsHexagon.def" textual header "clang/Basic/BuiltinsHexagonDep.def" textual header "clang/Basic/BuiltinsHexagonMapCustomDep.def" textual header "clang/Basic/BuiltinsLoongArch.def" textual header "clang/Basic/BuiltinsLoongArchBase.def" textual header "clang/Basic/BuiltinsLoongArchLSX.def" textual header "clang/Basic/BuiltinsLoongArchLASX.def" textual header "clang/Basic/BuiltinsMips.def" textual header "clang/Basic/BuiltinsNEON.def" textual header "clang/Basic/BuiltinsNVPTX.def" textual header "clang/Basic/BuiltinsPPC.def" textual header "clang/Basic/BuiltinsRISCV.def" textual header "clang/Basic/BuiltinsRISCVVector.def" textual header "clang/Basic/BuiltinsSME.def" textual header "clang/Basic/BuiltinsSVE.def" textual header "clang/Basic/BuiltinsSystemZ.def" textual header "clang/Basic/BuiltinsVE.def" textual header "clang/Basic/BuiltinsVEVL.gen.def" textual header "clang/Basic/BuiltinsWebAssembly.def" textual header "clang/Basic/BuiltinsX86.def" textual header "clang/Basic/BuiltinsX86_64.def" textual header "clang/Basic/BuiltinsXCore.def" textual header "clang/Basic/CodeGenOptions.def" textual header "clang/Basic/DebugOptions.def" textual header "clang/Basic/DiagnosticOptions.def" textual header "clang/Basic/Features.def" textual header "clang/Basic/FPOptions.def" textual header "clang/Basic/MSP430Target.def" textual header "clang/Basic/LangOptions.def" textual header "clang/Basic/OpenCLExtensions.def" textual header "clang/Basic/OpenCLImageTypes.def" textual header "clang/Basic/OpenCLExtensionTypes.def" textual header "clang/Basic/OpenMPKinds.def" textual header "clang/Basic/OperatorKinds.def" textual header "clang/Basic/PPCTypes.def" textual header "clang/Basic/RISCVVTypes.def" textual header "clang/Basic/Sanitizers.def" textual header "clang/Basic/TargetCXXABI.def" textual header "clang/Basic/TransformTypeTraits.def" textual header "clang/Basic/TokenKinds.def" textual header "clang/Basic/WebAssemblyReferenceTypes.def" module * { export * } } module Clang_Basic_TokenKinds { requires cplusplus header "clang/Basic/TokenKinds.h" textual header "clang/Basic/TokenKinds.def" export * } module Clang_CodeGen { requires cplusplus umbrella "clang/CodeGen" module * { export * } } module Clang_Config { requires cplusplus umbrella "clang/Config" module * { export * } } // Files for diagnostic groups are spread all over the include/clang/ tree, but // logically form a single module. module Clang_Diagnostics { requires cplusplus module All { header "clang/Basic/AllDiagnostics.h" export * } module Analysis { textual header "clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def" } module AST { header "clang/AST/ASTDiagnostic.h" export * } module Comment { header "clang/AST/CommentDiagnostic.h" export * } module Driver { header "clang/Driver/DriverDiagnostic.h" export * } module Frontend { header "clang/Frontend/FrontendDiagnostic.h" export * } module Lex { header "clang/Lex/LexDiagnostic.h" export * } module Parse { header "clang/Parse/ParseDiagnostic.h" export * } module Sema { header "clang/Sema/SemaDiagnostic.h" export * } module Serialization { header "clang/Serialization/SerializationDiagnostic.h" export * } module Refactoring { header "clang/Tooling/Refactoring/RefactoringDiagnostic.h" export * } } module Clang_Driver { requires cplusplus umbrella "clang/Driver" textual header "clang/Driver/Types.def" module * { export * } } module Clang_Edit { requires cplusplus umbrella "clang/Edit" module * { export * } } module Clang_Format { requires cplusplus umbrella "clang/Format" module * { export * } } module Clang_Frontend { requires cplusplus umbrella "clang/Frontend" textual header "clang/Basic/LangStandards.def" module * { export * } } module Clang_FrontendTool { requires cplusplus umbrella "clang/FrontendTool" module * { export * } } module Clang_Index { requires cplusplus umbrella "clang/Index" module * { export * } } module Clang_Lex { requires cplusplus umbrella "clang/Lex" module * { export * } } module Clang_Parse { requires cplusplus umbrella "clang/Parse" module * { export * } } module Clang_Rewrite { requires cplusplus umbrella "clang/Rewrite/Core" module * { export * } } module Clang_RewriteFrontend { requires cplusplus umbrella "clang/Rewrite/Frontend" module * { export * } } module Clang_Sema { requires cplusplus umbrella "clang/Sema" module * { export * } } module Clang_Serialization { requires cplusplus umbrella "clang/Serialization" textual header "clang/Serialization/TypeBitCodes.def" module * { export * } } module Clang_StaticAnalyzer_Core { requires cplusplus umbrella "clang/StaticAnalyzer/Core" textual header "clang/StaticAnalyzer/Core/Analyses.def" textual header "clang/StaticAnalyzer/Core/AnalyzerOptions.def" textual header "clang/StaticAnalyzer/Core/PathSensitive/SVals.def" textual header "clang/StaticAnalyzer/Core/PathSensitive/Symbols.def" textual header "clang/StaticAnalyzer/Core/PathSensitive/Regions.def" module * { export * } } module Clang_StaticAnalyzer_Checkers { requires cplusplus umbrella "clang/StaticAnalyzer/Checkers" module * { export * } } module Clang_StaticAnalyzer_Frontend { requires cplusplus umbrella "clang/StaticAnalyzer/Frontend" module * { export * } } module Clang_Testing { requires cplusplus umbrella "clang/Testing" module * { export * } } module Clang_Tooling { requires cplusplus umbrella "clang/Tooling" module * { export * } // FIXME: Exclude these headers to avoid pulling all of the AST matchers // library into clang-format. Due to inline key functions in the headers, // importing the AST matchers library gives a link dependency on the AST // matchers (and thus the AST), which clang-format should not have. exclude header "clang/Tooling/RefactoringCallbacks.h" } module Clang_ToolingCore { requires cplusplus umbrella "clang/Tooling/Core" module * { export * } } module Clang_ToolingInclusions { requires cplusplus umbrella "clang/Tooling/Inclusions" module * { export * } }