From: David Blaikie Date: Wed, 15 Feb 2012 21:58:34 +0000 (+0000) Subject: Provide common include for all diagnostic headers. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c44886ed05d7804bfd7b80857b81fd3477079f6;p=clang Provide common include for all diagnostic headers. Reviewed by Ted Kremenek. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150616 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/AllDiagnostics.h b/include/clang/Basic/AllDiagnostics.h new file mode 100644 index 0000000000..7e77435548 --- /dev/null +++ b/include/clang/Basic/AllDiagnostics.h @@ -0,0 +1,39 @@ +//===--- AllDiagnostics.h - Aggregate Diagnostic headers --------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file includes all the separate Diagnostic headers & some related +// helpers. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_ALL_DIAGNOSTICS_H +#define LLVM_CLANG_ALL_DIAGNOSTICS_H + +#include "clang/AST/ASTDiagnostic.h" +#include "clang/Analysis/AnalysisDiagnostic.h" +#include "clang/Driver/DriverDiagnostic.h" +#include "clang/Frontend/FrontendDiagnostic.h" +#include "clang/Lex/LexDiagnostic.h" +#include "clang/Parse/ParseDiagnostic.h" +#include "clang/Sema/SemaDiagnostic.h" +#include "clang/Serialization/SerializationDiagnostic.h" + +namespace clang { +template +class StringSizerHelper { + char FIELD_TOO_SMALL[SizeOfStr <= FieldType(~0U) ? 1 : -1]; +public: + enum { Size = SizeOfStr }; +}; +} // end namespace clang + +#define STR_SIZE(str, fieldTy) clang::StringSizerHelper::Size + +#endif diff --git a/lib/Basic/DiagnosticIDs.cpp b/lib/Basic/DiagnosticIDs.cpp index 2f28c5dbf7..f0e0c9c778 100644 --- a/lib/Basic/DiagnosticIDs.cpp +++ b/lib/Basic/DiagnosticIDs.cpp @@ -11,17 +11,10 @@ // //===----------------------------------------------------------------------===// -#include "clang/AST/ASTDiagnostic.h" -#include "clang/Analysis/AnalysisDiagnostic.h" #include "clang/Basic/DiagnosticIDs.h" +#include "clang/Basic/AllDiagnostics.h" #include "clang/Basic/DiagnosticCategories.h" #include "clang/Basic/SourceManager.h" -#include "clang/Driver/DriverDiagnostic.h" -#include "clang/Frontend/FrontendDiagnostic.h" -#include "clang/Lex/LexDiagnostic.h" -#include "clang/Parse/ParseDiagnostic.h" -#include "clang/Sema/SemaDiagnostic.h" -#include "clang/Serialization/SerializationDiagnostic.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Support/ErrorHandling.h" @@ -70,17 +63,8 @@ struct StaticDiagInfoRec { } }; -template -class StringSizerHelper { - char FIELD_TOO_SMALL[SizeOfStr <= FieldType(~0U) ? 1 : -1]; -public: - enum { Size = SizeOfStr }; -}; - } // namespace anonymous -#define STR_SIZE(str, fieldTy) StringSizerHelper::Size - static const StaticDiagInfoRec StaticDiagInfo[] = { #define DIAG(ENUM,CLASS,DEFAULT_MAPPING,DESC,GROUP, \ SFINAE,ACCESS,NOWERROR,SHOWINSYSHEADER, \ diff --git a/tools/diagtool/ListWarnings.cpp b/tools/diagtool/ListWarnings.cpp index 85720b1f0b..2bbeca8024 100644 --- a/tools/diagtool/ListWarnings.cpp +++ b/tools/diagtool/ListWarnings.cpp @@ -17,13 +17,7 @@ #include "llvm/Support/Format.h" #include "llvm/ADT/StringMap.h" #include "clang/AST/ASTDiagnostic.h" -#include "clang/Analysis/AnalysisDiagnostic.h" -#include "clang/Driver/DriverDiagnostic.h" -#include "clang/Frontend/FrontendDiagnostic.h" -#include "clang/Lex/LexDiagnostic.h" -#include "clang/Parse/ParseDiagnostic.h" -#include "clang/Sema/SemaDiagnostic.h" -#include "clang/Serialization/SerializationDiagnostic.h" +#include "clang/Basic/AllDiagnostics.h" DEF_DIAGTOOL("list-warnings", "List warnings and their corresponding flags", @@ -31,18 +25,6 @@ DEF_DIAGTOOL("list-warnings", using namespace clang; -namespace { -template -class StringSizerHelper { - char FIELD_TOO_SMALL[SizeOfStr <= FieldType(~0U) ? 1 : -1]; -public: - enum { Size = SizeOfStr }; -}; - -} // namespace anonymous - -#define STR_SIZE(str, fieldTy) StringSizerHelper::Size - namespace { struct StaticDiagNameIndexRec { const char *NameStr;