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