diff options
Diffstat (limited to 'contrib/llvm-project/clang/include/clang/Sema/AnalysisBasedWarnings.h')
-rw-r--r-- | contrib/llvm-project/clang/include/clang/Sema/AnalysisBasedWarnings.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/contrib/llvm-project/clang/include/clang/Sema/AnalysisBasedWarnings.h b/contrib/llvm-project/clang/include/clang/Sema/AnalysisBasedWarnings.h index e13fe955eaf4..020ddd36cf73 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/AnalysisBasedWarnings.h +++ b/contrib/llvm-project/clang/include/clang/Sema/AnalysisBasedWarnings.h @@ -13,14 +13,14 @@ #ifndef LLVM_CLANG_SEMA_ANALYSISBASEDWARNINGS_H #define LLVM_CLANG_SEMA_ANALYSISBASEDWARNINGS_H +#include "clang/AST/Decl.h" #include "llvm/ADT/DenseMap.h" +#include <memory> namespace clang { -class BlockExpr; class Decl; class FunctionDecl; -class ObjCMethodDecl; class QualType; class Sema; namespace sema { @@ -47,6 +47,9 @@ private: Sema &S; Policy DefaultPolicy; + class InterProceduralData; + std::unique_ptr<InterProceduralData> IPData; + enum VisitFlag { NotVisited = 0, Visited = 1, Pending = 2 }; llvm::DenseMap<const FunctionDecl*, VisitFlag> VisitedFD; @@ -88,15 +91,20 @@ private: public: AnalysisBasedWarnings(Sema &s); + ~AnalysisBasedWarnings(); void IssueWarnings(Policy P, FunctionScopeInfo *fscope, const Decl *D, QualType BlockType); + // Issue warnings that require whole-translation-unit analysis. + void IssueWarnings(TranslationUnitDecl *D); + Policy getDefaultPolicy() { return DefaultPolicy; } void PrintStats() const; }; -}} // end namespace clang::sema +} // namespace sema +} // namespace clang #endif |