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