1module Clang_Analysis { 2 requires cplusplus 3 umbrella "Analysis" 4 5 textual header "Analysis/Analyses/ThreadSafetyOps.def" 6 7 module * { export * } 8} 9 10module Clang_AST { 11 requires cplusplus 12 umbrella "AST" 13 14 textual header "AST/BuiltinTypes.def" 15 textual header "AST/OperationKinds.def" 16 textual header "AST/TypeLocNodes.def" 17 textual header "AST/TypeNodes.def" 18 19 module * { export * } 20} 21 22module Clang_ASTMatchers { requires cplusplus umbrella "ASTMatchers" module * { export * } } 23 24module Clang_Basic { 25 requires cplusplus 26 umbrella "Basic" 27 28 textual header "Basic/BuiltinsAArch64.def" 29 textual header "Basic/BuiltinsAMDGPU.def" 30 textual header "Basic/BuiltinsARM.def" 31 textual header "Basic/Builtins.def" 32 textual header "Basic/BuiltinsHexagon.def" 33 textual header "Basic/BuiltinsLe64.def" 34 textual header "Basic/BuiltinsMips.def" 35 textual header "Basic/BuiltinsNEON.def" 36 textual header "Basic/BuiltinsNVPTX.def" 37 textual header "Basic/BuiltinsPPC.def" 38 textual header "Basic/BuiltinsSystemZ.def" 39 textual header "Basic/BuiltinsWebAssembly.def" 40 textual header "Basic/BuiltinsX86.def" 41 textual header "Basic/BuiltinsXCore.def" 42 textual header "Basic/DiagnosticOptions.def" 43 textual header "Basic/LangOptions.def" 44 textual header "Basic/OpenCLExtensions.def" 45 textual header "Basic/OpenCLImageTypes.def" 46 textual header "Basic/OpenMPKinds.def" 47 textual header "Basic/OperatorKinds.def" 48 textual header "Basic/Sanitizers.def" 49 textual header "Basic/TokenKinds.def" 50 51 module * { export * } 52} 53 54module Clang_CodeGen { requires cplusplus umbrella "CodeGen" module * { export * } } 55module Clang_Config { requires cplusplus umbrella "Config" module * { export * } } 56 57// Files for diagnostic groups are spread all over the include/clang/ tree, but 58// logically form a single module. 59module Clang_Diagnostics { 60 requires cplusplus 61 62 module All { header "Basic/AllDiagnostics.h" export * } 63 module Analysis { header "Analysis/AnalysisDiagnostic.h" export * } 64 module AST { header "AST/ASTDiagnostic.h" export * } 65 module Comment { header "AST/CommentDiagnostic.h" export * } 66 module Driver { header "Driver/DriverDiagnostic.h" export * } 67 module Frontend { header "Frontend/FrontendDiagnostic.h" export * } 68 module Lex { header "Lex/LexDiagnostic.h" export * } 69 module Parse { header "Parse/ParseDiagnostic.h" export * } 70 // FIXME: This breaks the build of Clang_Sema, for unknown reasons. 71 //module Sema { header "Sema/SemaDiagnostic.h" export * } 72 module Serialization { header "Serialization/SerializationDiagnostic.h" export * } 73} 74 75module Clang_Driver { 76 requires cplusplus 77 umbrella "Driver" 78 79 textual header "Driver/Types.def" 80 81 module * { export * } 82} 83 84module Clang_Edit { requires cplusplus umbrella "Edit" module * { export * } } 85module Clang_Format { requires cplusplus umbrella "Format" module * { export * } } 86 87module Clang_Frontend { 88 requires cplusplus 89 umbrella "Frontend" 90 91 textual header "Frontend/CodeGenOptions.def" 92 textual header "Frontend/LangStandards.def" 93 94 module * { export * } 95 96 // FIXME: This violates layers. 97 exclude header "Frontend/PCHContainerOperations.h" 98} 99 100module Clang_FrontendTool { requires cplusplus umbrella "FrontendTool" module * { export * } } 101module Clang_Index { requires cplusplus umbrella "Index" module * { export * } } 102module Clang_Lex { requires cplusplus umbrella "Lex" module * { export * } } 103module Clang_Parse { requires cplusplus umbrella "Parse" module * { export * } } 104module Clang_Rewrite { requires cplusplus umbrella "Rewrite" module * { export * } } 105module Clang_Sema { requires cplusplus umbrella "Sema" module * { export * } } 106module Clang_Serialization { requires cplusplus umbrella "Serialization" module * { export * } } 107 108module Clang_StaticAnalyzer_Core { 109 requires cplusplus 110 umbrella "StaticAnalyzer/Core" 111 112 textual header "StaticAnalyzer/Core/Analyses.def" 113 textual header "StaticAnalyzer/Core/PathSensitive/SVals.def" 114 textual header "StaticAnalyzer/Core/PathSensitive/Symbols.def" 115 textual header "StaticAnalyzer/Core/PathSensitive/Regions.def" 116 117 module * { export * } 118} 119 120module Clang_StaticAnalyzer_Checkers { 121 requires cplusplus 122 umbrella "StaticAnalyzer/Checkers" 123 module * { export * } 124} 125 126module Clang_StaticAnalyzer_Frontend { 127 requires cplusplus 128 umbrella "StaticAnalyzer/Frontend" 129 module * { export * } 130} 131 132module Clang_Tooling { 133 requires cplusplus umbrella "Tooling" module * { export * } 134 // FIXME: Exclude this header to avoid pulling all of the AST matchers 135 // library into clang-format. Due to inline key functions in the headers, 136 // importing the AST matchers library gives a link dependency on the AST 137 // matchers (and thus the AST), which clang-format should not have. 138 exclude header "Tooling/RefactoringCallbacks.h" 139} 140