summaryrefslogtreecommitdiffstats
path: root/include/clang/module.modulemap
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-08-14 04:11:33 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-08-14 04:11:33 +0000
commite3a82188e5e1c860e85410f64a004778ec0d2344 (patch)
tree9f0e8059f127270b93f7031fd11fc58a4f0f8303 /include/clang/module.modulemap
parent688e6c5618deb872142dc8e13158dff2e87fbf22 (diff)
[modules] Factor .td-generated diagnostics stuff out into its own module; this
avoids users of AllDiagnostics.h from needing to pregenerate *all* generated headers. Hopefully this will make my modules buildbot happier... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215617 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/module.modulemap')
-rw-r--r--include/clang/module.modulemap24
1 files changed, 18 insertions, 6 deletions
diff --git a/include/clang/module.modulemap b/include/clang/module.modulemap
index 03806016cc..1b7132e127 100644
--- a/include/clang/module.modulemap
+++ b/include/clang/module.modulemap
@@ -47,9 +47,6 @@ module Clang_Basic {
exclude header "Basic/Sanitizers.def"
exclude header "Basic/TokenKinds.def"
- // This file is one big layering violation.
- exclude header "Basic/AllDiagnostics.h"
-
// This file includes a header from Lex.
exclude header "Basic/PlistSupport.h"
@@ -62,6 +59,24 @@ module Clang_Basic {
module Clang_CodeGen { requires cplusplus umbrella "CodeGen" module * { export * } }
module Clang_Config { requires cplusplus umbrella "Config" module * { export * } }
+// Files for diagnostic groups are spread all over the include/clang/ tree, but
+// logically form a single module.
+module Clang_Diagnostics {
+ requires cplusplus
+
+ module All { header "Basic/AllDiagnostics.h" export * }
+ module Analysis { header "Analysis/AnalysisDiagnostic.h" export * }
+ module AST { header "AST/ASTDiagnostic.h" export * }
+ module Comment { header "AST/CommentDiagnostic.h" export * }
+ module Driver { header "Driver/DriverDiagnostic.h" export * }
+ module Frontend { header "Frontend/FrontendDiagnostic.h" export * }
+ module Lex { header "Lex/LexDiagnostic.h" export * }
+ module Parse { header "Parse/ParseDiagnostic.h" export * }
+ // FIXME: This breaks the build of Clang_Sema, for unknown reasons.
+ //module Sema { header "Sema/SemaDiagnostic.h" export * }
+ module Serialization { header "Serialization/SerializationDiagnostic.h" export * }
+}
+
module Clang_Driver {
requires cplusplus
umbrella "Driver"
@@ -101,9 +116,6 @@ module Clang_StaticAnalyzer {
// This file is intended for repeated textual inclusion.
exclude header "StaticAnalyzer/Core/Analyses.def"
- // FIXME: This is logically a part of Basic, but has been put in the wrong place.
- exclude header "StaticAnalyzer/Core/AnalyzerOptions.h"
-
module * { export * }
}