From: Richard Smith Date: Thu, 14 Aug 2014 04:11:33 +0000 (+0000) Subject: [modules] Factor .td-generated diagnostics stuff out into its own module; this X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e3a82188e5e1c860e85410f64a004778ec0d2344;p=clang [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 --- 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 * } }