diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index 870c8bb04052fbb21c9f535a5d367d8f557695a8..fee8a0573fd185af16f45a799a035ad26bb80e54 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -18,7 +18,6 @@ #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/OperatorKinds.h" -#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/VersionTuple.h" #include "clang/AST/Decl.h" #include "clang/AST/NestedNameSpecifier.h" diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h index 022fcfa1b0ff2e0feb67c84cc842c1104ca6d6ab..b600e38714857c53342e4061932bfe6c23501adf 100644 --- a/include/clang/AST/Decl.h +++ b/include/clang/AST/Decl.h @@ -41,7 +41,11 @@ class TypeLoc; class UnresolvedSetImpl; class LabelStmt; class Module; - + +// Forward declare PartialDiagnosticAt. +// FIXME: This shouldn't be here. +typedef std::pair<SourceLocation, PartialDiagnostic> PartialDiagnosticAt; + /// \brief A container of type source information. /// /// A client can read the relevant info using TypeLoc wrappers, e.g: @@ -3175,18 +3179,11 @@ public: /// Insertion operator for diagnostics. This allows sending NamedDecl's /// into a diagnostic with <<. -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, - const NamedDecl* ND) { - DB.AddTaggedVal(reinterpret_cast<intptr_t>(ND), - DiagnosticsEngine::ak_nameddecl); - return DB; -} -inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, - const NamedDecl* ND) { - PD.AddTaggedVal(reinterpret_cast<intptr_t>(ND), - DiagnosticsEngine::ak_nameddecl); - return PD; -} +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, + const NamedDecl* ND); + +const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, + const NamedDecl* ND); template<typename decl_type> void Redeclarable<decl_type>::setPreviousDeclaration(decl_type *PrevDecl) { diff --git a/include/clang/AST/DeclarationName.h b/include/clang/AST/DeclarationName.h index 2170f2b1ef7f555e6b091ad3a3f090db47b91026..0d87e2671c9029846537da8c14e1fc2d575d8bd6 100644 --- a/include/clang/AST/DeclarationName.h +++ b/include/clang/AST/DeclarationName.h @@ -16,7 +16,6 @@ #include "clang/Basic/IdentifierTable.h" #include "clang/AST/Type.h" #include "clang/AST/CanonicalType.h" -#include "clang/Basic/PartialDiagnostic.h" namespace llvm { template <typename T> struct DenseMapInfo; @@ -517,24 +516,16 @@ public: /// Insertion operator for diagnostics. This allows sending DeclarationName's /// into a diagnostic with <<. -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, - DeclarationName N) { - DB.AddTaggedVal(N.getAsOpaqueInteger(), - DiagnosticsEngine::ak_declarationname); - return DB; -} +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, + DeclarationName N); /// Insertion operator for partial diagnostics. This allows binding /// DeclarationName's into a partial diagnostic with <<. -inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, - DeclarationName N) { - PD.AddTaggedVal(N.getAsOpaqueInteger(), - DiagnosticsEngine::ak_declarationname); - return PD; -} +const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, + DeclarationName N); inline raw_ostream &operator<<(raw_ostream &OS, - DeclarationNameInfo DNInfo) { + DeclarationNameInfo DNInfo) { DNInfo.printName(OS); return OS; } diff --git a/include/clang/AST/Mangle.h b/include/clang/AST/Mangle.h index 5a42aec0dc65416b033e34a722385b83a66e2946..7c7495ee67c9455819c0d233e4f334b22d47d937 100644 --- a/include/clang/AST/Mangle.h +++ b/include/clang/AST/Mangle.h @@ -27,6 +27,8 @@ namespace clang { class CXXConstructorDecl; class CXXDestructorDecl; class CXXMethodDecl; + class DeclContext; + class DiagnosticsEngine; class FunctionDecl; class NamedDecl; class ObjCMethodDecl; diff --git a/include/clang/AST/NestedNameSpecifier.h b/include/clang/AST/NestedNameSpecifier.h index bda2d31fd5a4892389f9a1594cd16d39e78cb4a7..8d4a53f23ea7d45c4098c3c19448dae2d426e372 100644 --- a/include/clang/AST/NestedNameSpecifier.h +++ b/include/clang/AST/NestedNameSpecifier.h @@ -14,13 +14,14 @@ #ifndef LLVM_CLANG_AST_NESTEDNAMESPECIFIER_H #define LLVM_CLANG_AST_NESTEDNAMESPECIFIER_H -#include "clang/Basic/Diagnostic.h" +#include "clang/Basic/SourceLocation.h" #include "llvm/ADT/FoldingSet.h" #include "llvm/ADT/PointerIntPair.h" namespace clang { class ASTContext; +class DiagnosticBuilder; class NamespaceAliasDecl; class NamespaceDecl; class IdentifierInfo; @@ -464,12 +465,8 @@ public: /// Insertion operator for diagnostics. This allows sending /// NestedNameSpecifiers into a diagnostic with <<. -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, - NestedNameSpecifier *NNS) { - DB.AddTaggedVal(reinterpret_cast<intptr_t>(NNS), - DiagnosticsEngine::ak_nestednamespec); - return DB; -} +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, + NestedNameSpecifier *NNS); } diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h index 0fd9e51b3a37a7e880895299e5ba5cef7a63c3fd..0c0ef464776e88d0a44aa9bb7fa89e0b4f9f79ee 100644 --- a/include/clang/AST/Type.h +++ b/include/clang/AST/Type.h @@ -14,11 +14,9 @@ #ifndef LLVM_CLANG_AST_TYPE_H #define LLVM_CLANG_AST_TYPE_H -#include "clang/Basic/Diagnostic.h" #include "clang/Basic/ExceptionSpecificationType.h" #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/Linkage.h" -#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/Visibility.h" #include "clang/AST/NestedNameSpecifier.h" #include "clang/AST/TemplateName.h" @@ -94,6 +92,7 @@ namespace clang { class ExtQuals; class ExtQualsTypeCommonBase; struct PrintingPolicy; + class PartialDiagnostic; template <typename> class CanQual; typedef CanQual<Type> CanQualType; @@ -4799,21 +4798,11 @@ inline const Type *Type::getBaseElementTypeUnsafe() const { /// Insertion operator for diagnostics. This allows sending QualType's into a /// diagnostic with <<. -inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, - QualType T) { - DB.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()), - DiagnosticsEngine::ak_qualtype); - return DB; -} +const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, QualType T); /// Insertion operator for partial diagnostics. This allows sending QualType's /// into a diagnostic with <<. -inline const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, - QualType T) { - PD.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()), - DiagnosticsEngine::ak_qualtype); - return PD; -} +const PartialDiagnostic &operator<<(const PartialDiagnostic &PD, QualType T); // Helper class template that is used by Type::getAs to ensure that one does // not try to look through a qualified type to get to an array type. diff --git a/include/clang/Sema/CodeCompleteConsumer.h b/include/clang/Sema/CodeCompleteConsumer.h index c77b68f9da749b3b07f73fc7f69e2afbe38f7a89..832c47d6afd12bc6a178100a28a613a2b4339bc3 100644 --- a/include/clang/Sema/CodeCompleteConsumer.h +++ b/include/clang/Sema/CodeCompleteConsumer.h @@ -24,6 +24,7 @@ namespace clang { class Decl; +class Preprocessor; /// \brief Default priority values for code-completion results based /// on their kind. diff --git a/include/clang/Sema/DelayedDiagnostic.h b/include/clang/Sema/DelayedDiagnostic.h index dd2603dbc362092b20c08fcd6049be33abcc35ec..235f63438515eeb09e2ecf1448cecb9256f33bb1 100644 --- a/include/clang/Sema/DelayedDiagnostic.h +++ b/include/clang/Sema/DelayedDiagnostic.h @@ -22,6 +22,7 @@ #define LLVM_CLANG_SEMA_DELAYED_DIAGNOSTIC_H #include "clang/AST/DeclCXX.h" +#include "clang/Basic/PartialDiagnostic.h" namespace clang { namespace sema { diff --git a/include/clang/Sema/Sema.h b/include/clang/Sema/Sema.h index c5915ca168a0feff0bd2a324b0ff0b06f237b18b..99b1ed11bdb1653034a4a576906fc3414e311b6a 100644 --- a/include/clang/Sema/Sema.h +++ b/include/clang/Sema/Sema.h @@ -30,6 +30,7 @@ #include "clang/AST/ExternalASTSource.h" #include "clang/AST/TypeLoc.h" #include "clang/Lex/ModuleLoader.h" +#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/Specifiers.h" #include "clang/Basic/TemplateKinds.h" #include "clang/Basic/TypeTraits.h" diff --git a/include/clang/Sema/SemaFixItUtils.h b/include/clang/Sema/SemaFixItUtils.h index fffca6791454b5e25243d4a5bb8f41e8a750c296..84e03d8242a078d4f6753b129b94f8c375de9072 100644 --- a/include/clang/Sema/SemaFixItUtils.h +++ b/include/clang/Sema/SemaFixItUtils.h @@ -14,6 +14,7 @@ #define LLVM_CLANG_SEMA_FIXITUTILS_H #include "clang/AST/Expr.h" +#include "clang/Basic/Diagnostic.h" namespace clang { diff --git a/include/clang/Serialization/ASTWriter.h b/include/clang/Serialization/ASTWriter.h index f6a2c4817a5321b124640ad84d8549582dac2d30..e36f3a00a655cf4a48bbb434eb559540833278aa 100644 --- a/include/clang/Serialization/ASTWriter.h +++ b/include/clang/Serialization/ASTWriter.h @@ -43,6 +43,7 @@ class ASTContext; class NestedNameSpecifier; class CXXBaseSpecifier; class CXXCtorInitializer; +class DiagnosticsEngine; class FPOptions; class HeaderSearch; class IdentifierResolver; diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 8f9ab719b95ff6a178b147f4aa43cf1a1551a2fd..ca199c849f7688d60ffed770f7459af69fe0495d 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -24,6 +24,7 @@ #include "clang/AST/RecordLayout.h" #include "clang/AST/Mangle.h" #include "clang/Basic/Builtins.h" +#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "llvm/ADT/SmallString.h" diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index aa7bb0812a3d28c9c78d9ccbd8e8785367a26bfd..123b14c0560f47edaa42d3d5b790340bedf881f5 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -25,6 +25,7 @@ #include "clang/Basic/Builtins.h" #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/Module.h" +#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/Specifiers.h" #include "clang/Basic/TargetInfo.h" #include "llvm/Support/ErrorHandling.h" @@ -2959,3 +2960,17 @@ SourceRange ImportDecl::getSourceRange() const { return SourceRange(getLocation(), getIdentifierLocs().back()); } + +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB, + const NamedDecl* ND) { + DB.AddTaggedVal(reinterpret_cast<intptr_t>(ND), + DiagnosticsEngine::ak_nameddecl); + return DB; +} + +const PartialDiagnostic &clang::operator<<(const PartialDiagnostic &PD, + const NamedDecl* ND) { + PD.AddTaggedVal(reinterpret_cast<intptr_t>(ND), + DiagnosticsEngine::ak_nameddecl); + return PD; +} diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index d5221031a54a83a0d1f2d433d1335ce4094ee901..d64385a5b9875ed93487807cc73d85810ececea1 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -20,6 +20,7 @@ #include "clang/AST/ExprCXX.h" #include "clang/AST/TypeLoc.h" #include "clang/Basic/IdentifierTable.h" +#include "clang/Basic/PartialDiagnostic.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallPtrSet.h" using namespace clang; diff --git a/lib/AST/DeclarationName.cpp b/lib/AST/DeclarationName.cpp index a5488e67ca234e51a56929f8e2c7088488fcd536..f550cf89089321bbb5bc730dfca0160acf8943ed 100644 --- a/lib/AST/DeclarationName.cpp +++ b/lib/AST/DeclarationName.cpp @@ -18,6 +18,7 @@ #include "clang/AST/TypeLoc.h" #include "clang/AST/TypeOrdering.h" #include "clang/Basic/IdentifierTable.h" +#include "clang/Basic/PartialDiagnostic.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/FoldingSet.h" #include "llvm/Support/ErrorHandling.h" @@ -620,3 +621,17 @@ SourceLocation DeclarationNameInfo::getEndLoc() const { } llvm_unreachable("Unexpected declaration name kind"); } + +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB, + DeclarationName N) { + DB.AddTaggedVal(N.getAsOpaqueInteger(), + DiagnosticsEngine::ak_declarationname); + return DB; +} + +const PartialDiagnostic &clang::operator<<(const PartialDiagnostic &PD, + DeclarationName N) { + PD.AddTaggedVal(N.getAsOpaqueInteger(), + DiagnosticsEngine::ak_declarationname); + return PD; +} diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp index 701e9ccd5638aac3a54e53027291b627ce6578e3..f84c6347cb0a0fb980d26e2e091bd04bf23aeda4 100644 --- a/lib/AST/ExprConstant.cpp +++ b/lib/AST/ExprConstant.cpp @@ -42,6 +42,7 @@ #include "clang/AST/ASTDiagnostic.h" #include "clang/AST/Expr.h" #include "clang/Basic/Builtins.h" +#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/TargetInfo.h" #include "llvm/ADT/SmallString.h" #include <cstring> diff --git a/lib/AST/ItaniumMangle.cpp b/lib/AST/ItaniumMangle.cpp index fabf8cf0030de0acdc7ae03b9cb2219fa77901ea..5dbcf224cc29501873ac14d66770fa156862c6e7 100644 --- a/lib/AST/ItaniumMangle.cpp +++ b/lib/AST/ItaniumMangle.cpp @@ -24,6 +24,7 @@ #include "clang/AST/ExprObjC.h" #include "clang/AST/TypeLoc.h" #include "clang/Basic/ABI.h" +#include "clang/Basic/Diagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "llvm/ADT/StringExtras.h" diff --git a/lib/AST/NestedNameSpecifier.cpp b/lib/AST/NestedNameSpecifier.cpp index c59d40a8c2bf07fd66bd36163ccabc304e64def8..9b714ed7e8846172286debbc809c93820302a754 100644 --- a/lib/AST/NestedNameSpecifier.cpp +++ b/lib/AST/NestedNameSpecifier.cpp @@ -18,6 +18,7 @@ #include "clang/AST/PrettyPrinter.h" #include "clang/AST/Type.h" #include "clang/AST/TypeLoc.h" +#include "clang/Basic/Diagnostic.h" #include "llvm/Support/raw_ostream.h" #include <cassert> @@ -639,3 +640,9 @@ NestedNameSpecifierLocBuilder::getWithLocInContext(ASTContext &Context) const { return NestedNameSpecifierLoc(Representation, Mem); } +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB, + NestedNameSpecifier *NNS) { + DB.AddTaggedVal(reinterpret_cast<intptr_t>(NNS), + DiagnosticsEngine::ak_nestednamespec); + return DB; +} diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp index ebf5706ed038dd37fc824a9c734f9a48cece0d90..1c5aa3194e7808ea878ac5fc00aead7c816f34d0 100644 --- a/lib/AST/Type.cpp +++ b/lib/AST/Type.cpp @@ -20,6 +20,7 @@ #include "clang/AST/Expr.h" #include "clang/AST/PrettyPrinter.h" #include "clang/AST/TypeVisitor.h" +#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/Specifiers.h" #include "llvm/ADT/APSInt.h" #include "llvm/ADT/StringExtras.h" @@ -2309,3 +2310,17 @@ bool QualType::hasTrivialAssignment(ASTContext &Context, bool Copying) const { return true; } + +const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB, + QualType T) { + DB.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()), + DiagnosticsEngine::ak_qualtype); + return DB; +} + +const PartialDiagnostic &clang::operator<<(const PartialDiagnostic &PD, + QualType T) { + PD.AddTaggedVal(reinterpret_cast<intptr_t>(T.getAsOpaquePtr()), + DiagnosticsEngine::ak_qualtype); + return PD; +} diff --git a/lib/CodeGen/CGCXXABI.cpp b/lib/CodeGen/CGCXXABI.cpp index c1b20af799fcc103b8e6d246129cc270980910f2..05f52a0b878f4169ba1ccf52c1bcde2df26feebf 100644 --- a/lib/CodeGen/CGCXXABI.cpp +++ b/lib/CodeGen/CGCXXABI.cpp @@ -13,6 +13,7 @@ //===----------------------------------------------------------------------===// #include "CGCXXABI.h" +#include "clang/Basic/Diagnostic.h" using namespace clang; using namespace CodeGen; diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 9f9d5c4b49412fc91f28c7fa3f9e78c00763350b..ed27f2d92e7e55e514bacd2c109a00de44d66ebd 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -21,8 +21,9 @@ #include "clang/AST/DeclTemplate.h" #include "clang/AST/Expr.h" #include "clang/AST/RecordLayout.h" -#include "clang/Basic/SourceManager.h" +#include "clang/Basic/Diagnostic.h" #include "clang/Basic/FileManager.h" +#include "clang/Basic/SourceManager.h" #include "clang/Basic/Version.h" #include "clang/Frontend/CodeGenOptions.h" #include "llvm/Constants.h" diff --git a/lib/CodeGen/CodeGenTBAA.cpp b/lib/CodeGen/CodeGenTBAA.cpp index 887c1eabb0c69c1b83ae9e1e345038593f6d4211..594c6c474c3b60d2de5882f4b21d2ee30cad8a26 100644 --- a/lib/CodeGen/CodeGenTBAA.cpp +++ b/lib/CodeGen/CodeGenTBAA.cpp @@ -22,6 +22,7 @@ #include "llvm/Metadata.h" #include "llvm/Constants.h" #include "llvm/Type.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace CodeGen; diff --git a/lib/Sema/AnalysisBasedWarnings.cpp b/lib/Sema/AnalysisBasedWarnings.cpp index 71bf3359ea990a4ecb83257db785438a9ba78c63..447250a2aa5ded2b48ec72ea1f04039ca060cb44 100644 --- a/lib/Sema/AnalysisBasedWarnings.cpp +++ b/lib/Sema/AnalysisBasedWarnings.cpp @@ -16,6 +16,7 @@ #include "clang/Sema/AnalysisBasedWarnings.h" #include "clang/Sema/SemaInternal.h" #include "clang/Sema/ScopeInfo.h" +#include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/SourceLocation.h" #include "clang/Lex/Preprocessor.h" diff --git a/lib/Serialization/ASTWriter.cpp b/lib/Serialization/ASTWriter.cpp index b715d6ce3f62e975a9e0af13f279858474d31c29..507f7a017fccc827d6e3b4865945ea9306af4fc0 100644 --- a/lib/Serialization/ASTWriter.cpp +++ b/lib/Serialization/ASTWriter.cpp @@ -29,6 +29,7 @@ #include "clang/Lex/PreprocessingRecord.h" #include "clang/Lex/Preprocessor.h" #include "clang/Lex/HeaderSearch.h" +#include "clang/Basic/Diagnostic.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/FileSystemStatCache.h" #include "clang/Basic/OnDiskHashTable.h" diff --git a/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp b/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp index 288b4a0cd8cf4c4759dd1302089890495da5a261..158a7cdfe47e9a00b00cb36f1ddb246bb55abda5 100644 --- a/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp +++ b/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp @@ -19,6 +19,7 @@ #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" #include "clang/AST/CharUnits.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp b/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp index 4dcf9a1f22497f25de3deef2c7620701064eb8ad..4011024aeeb51cf54c40b8b6bd59187166a168af 100644 --- a/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp @@ -17,6 +17,7 @@ #include "clang/StaticAnalyzer/Core/CheckerManager.h" #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/CStringChecker.cpp b/lib/StaticAnalyzer/Checkers/CStringChecker.cpp index 247e34b4063837e0d6a03661f713dc295ed913e2..8a868bddc8651f8c93aa27dc41e1611b02ede09b 100644 --- a/lib/StaticAnalyzer/Checkers/CStringChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/CStringChecker.cpp @@ -18,6 +18,7 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h" +#include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringSwitch.h" using namespace clang; diff --git a/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp b/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp index 9740cde0110f75f22768094490451699b70f6cfc..5f4add1a592bb5f42a6b833b6a80e4621a6e7501 100644 --- a/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp @@ -17,6 +17,7 @@ #include "clang/StaticAnalyzer/Core/CheckerManager.h" #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp index 0fd81b4b77eb5e143fbe16ff9447c68a2c5f7f67..4035c7a544e2c5e9423afd800c2d71efbdf6ad55 100644 --- a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp @@ -21,6 +21,7 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h" #include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h" #include "llvm/ADT/ImmutableMap.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp b/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp index fb7ae2c76f24dc4053b250ed00f10ccfd6eb93c8..eac630400da5c5873a80f70f7c33de7b4528767a 100644 --- a/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp @@ -20,6 +20,7 @@ #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/StaticAnalyzer/Checkers/DereferenceChecker.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp b/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp index 85975208af4b1fcb8475009f99a63e8188497e2c..2f276a294c2c4aabba9625ad3acc01197c5efeb5 100644 --- a/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp @@ -19,6 +19,7 @@ #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h" #include "llvm/ADT/ImmutableList.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/StreamChecker.cpp b/lib/StaticAnalyzer/Checkers/StreamChecker.cpp index e571e858c6b9781b8177f83e5460afe1e77667ff..f05e9a9d0f7bc68c83ff49093d3f7ef7878b9875 100644 --- a/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -20,6 +20,7 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h" #include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h" #include "llvm/ADT/ImmutableMap.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp b/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp index 74dd26ba3d1a530c8385570056f02d88ce380062..375dc82b5a7368acd68332c0ebf4f45b25196292 100644 --- a/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp @@ -19,6 +19,7 @@ #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/Basic/TargetInfo.h" #include "llvm/ADT/Optional.h" +#include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringSwitch.h" #include <fcntl.h> diff --git a/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp b/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp index d5db8508ca10341c95086479a209f4ad0ab9b04b..c386df9f797ce5434d2f198316286f469e4879b1 100644 --- a/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp @@ -20,6 +20,7 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" #include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/AST/CharUnits.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Core/AnalysisManager.cpp b/lib/StaticAnalyzer/Core/AnalysisManager.cpp index af18eff89914f32e599ae8cfe0de51193f0461f6..4d73b9d9610527b3f065b9aa40f9f2ca7cfc4504 100644 --- a/lib/StaticAnalyzer/Core/AnalysisManager.cpp +++ b/lib/StaticAnalyzer/Core/AnalysisManager.cpp @@ -10,6 +10,7 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h" #include "clang/Index/Entity.h" #include "clang/Index/Indexer.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/lib/StaticAnalyzer/Core/BugReporter.cpp b/lib/StaticAnalyzer/Core/BugReporter.cpp index 9bd9d5a59c077341972f7056ba1db5594c89d703..b10a62ca4950ff66ca8cdfcb05928dfdc85ef03c 100644 --- a/lib/StaticAnalyzer/Core/BugReporter.cpp +++ b/lib/StaticAnalyzer/Core/BugReporter.cpp @@ -21,6 +21,7 @@ #include "clang/AST/Expr.h" #include "clang/AST/ParentMap.h" #include "clang/AST/StmtObjC.h" +#include "clang/Basic/Diagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/Analysis/ProgramPoint.h" #include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h" diff --git a/lib/StaticAnalyzer/Core/CheckerRegistry.cpp b/lib/StaticAnalyzer/Core/CheckerRegistry.cpp index 9791e2ecbf92dba6e2dabac42e1c167096a3cd38..b87a7547c0bdd3a7e67646420ddf11e494c8478b 100644 --- a/lib/StaticAnalyzer/Core/CheckerRegistry.cpp +++ b/lib/StaticAnalyzer/Core/CheckerRegistry.cpp @@ -10,6 +10,7 @@ #include "clang/StaticAnalyzer/Core/CheckerRegistry.h" #include "clang/StaticAnalyzer/Core/CheckerOptInfo.h" #include "llvm/ADT/SetVector.h" +#include "llvm/ADT/STLExtras.h" using namespace clang; using namespace ento; diff --git a/tools/libclang/IndexingContext.h b/tools/libclang/IndexingContext.h index bc33005e89dde3eb9218f37daa665fb1052e5757..24afaea290d15282f411943b7043933e374dce41 100644 --- a/tools/libclang/IndexingContext.h +++ b/tools/libclang/IndexingContext.h @@ -13,12 +13,14 @@ #include "clang/AST/DeclObjC.h" #include "clang/AST/DeclGroup.h" #include "llvm/ADT/DenseSet.h" +#include "llvm/ADT/IntrusiveRefCntPtr.h" namespace clang { class FileEntry; class ObjCPropertyDecl; class ClassTemplateDecl; class FunctionTemplateDecl; + class Preprocessor; class TypeAliasTemplateDecl; namespace cxindex {