Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:51

0001 //== GlobalStaticChecker.h - Checks for non-const global statics --------------*- C++ -*--==//
0002 //
0003 // by Thomas Hauth [ Thomas.Hauth@cern.ch ]
0004 //
0005 //===----------------------------------------------------------------------===//
0006 #ifndef Utilities_StaticAnalyzers_GlobalStaticChecker_h
0007 #define Utilities_StaticAnalyzers_GlobalStaticChecker_h
0008 
0009 #include <clang/StaticAnalyzer/Core/Checker.h>
0010 #include <clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h>
0011 #include <clang/StaticAnalyzer/Core/BugReporter/BugType.h>
0012 #include "FWCore/Utilities/interface/thread_safety_macros.h"
0013 #include "CmsException.h"
0014 
0015 namespace clangcms {
0016   class GlobalStaticChecker : public clang::ento::Checker<clang::ento::check::ASTDecl<clang::VarDecl> > {
0017     CMS_SA_ALLOW mutable std::unique_ptr<clang::ento::BugType> BT;
0018 
0019   public:
0020     void checkASTDecl(const clang::VarDecl *D, clang::ento::AnalysisManager &Mgr, clang::ento::BugReporter &BR) const;
0021 
0022   private:
0023     CmsException m_exception;
0024   };
0025 
0026 }  // namespace clangcms
0027 
0028 #endif