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