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