clang API Documentation

Defines | Functions
AnalysisConsumer.cpp File Reference
#include "clang/StaticAnalyzer/Frontend/AnalysisConsumer.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/DataRecursiveASTVisitor.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/ParentMap.h"
#include "clang/Analysis/CodeInjector.h"
#include "clang/Analysis/Analyses/LiveVariables.h"
#include "clang/Analysis/CFG.h"
#include "clang/Analysis/CallGraph.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/StaticAnalyzer/Checkers/LocalCheckers.h"
#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "clang/StaticAnalyzer/Frontend/CheckerRegistration.h"
#include "clang/Frontend/CompilerInstance.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/raw_ostream.h"
#include "ModelInjector.h"
#include <memory>
#include <queue>
#include "clang/StaticAnalyzer/Core/Analyses.def"
Include dependency graph for AnalysisConsumer.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "AnalysisConsumer"
#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN)
#define ANALYSIS_STORE(NAME, CMDFLAG, DESC, CREATEFN)   case NAME##Model: CreateStoreMgr = CREATEFN; break;
#define ANALYSIS_CONSTRAINTS(NAME, CMDFLAG, DESC, CREATEFN)   case NAME##Model: CreateConstraintMgr = CREATEFN; break;

Functions

static std::unique_ptr
< ExplodedNode::Auditor
CreateUbiViz ()
 STATISTIC (NumFunctionTopLevel,"The # of functions at top level.")
 STATISTIC (NumFunctionsAnalyzed,"The # of functions and blocks analyzed (as top level ""with inlining turned on).")
 STATISTIC (NumBlocksInAnalyzedFunctions,"The # of basic blocks in the analyzed functions.")
 STATISTIC (PercentReachableBlocks,"The % of reachable basic blocks.")
 STATISTIC (MaxCFGSize,"The maximum number of basic blocks in a function.")
static bool shouldSkipFunction (const Decl *D, const SetOfConstDecls &Visited, const SetOfConstDecls &VisitedAsTopLevel)
static std::string getFunctionName (const Decl *D)

Define Documentation

#define ANALYSIS_CONSTRAINTS (   NAME,
  CMDFLAG,
  DESC,
  CREATEFN 
)    case NAME##Model: CreateConstraintMgr = CREATEFN; break;
#define ANALYSIS_DIAGNOSTICS (   NAME,
  CMDFLAG,
  DESC,
  CREATEFN 
)
Value:
case PD_##NAME:                                                              \
    CREATEFN(*Opts.get(), PathConsumers, OutDir, PP);                       \
    break;
#define ANALYSIS_STORE (   NAME,
  CMDFLAG,
  DESC,
  CREATEFN 
)    case NAME##Model: CreateStoreMgr = CREATEFN; break;
#define DEBUG_TYPE   "AnalysisConsumer"

Definition at line 55 of file AnalysisConsumer.cpp.


Function Documentation

static std::unique_ptr< ExplodedNode::Auditor > CreateUbiViz ( ) [static]

Definition at line 734 of file AnalysisConsumer.cpp.

References P.

static std::string getFunctionName ( const Decl D) [static]

Definition at line 568 of file AnalysisConsumer.cpp.

References clang::IdentifierInfo::getName().

static bool shouldSkipFunction ( const Decl D,
const SetOfConstDecls Visited,
const SetOfConstDecls VisitedAsTopLevel 
) [static]

Definition at line 417 of file AnalysisConsumer.cpp.

STATISTIC ( NumFunctionTopLevel  ,
"The # of functions at top level."   
)
STATISTIC ( NumFunctionsAnalyzed  ,
"The # of functions and blocks analyzed (as top level ""with inlining turned on)."   
)
STATISTIC ( NumBlocksInAnalyzedFunctions  ,
"The # of basic blocks in the analyzed functions."   
)
STATISTIC ( PercentReachableBlocks  ,
"The % of reachable basic blocks."   
)
STATISTIC ( MaxCFGSize  ,
"The maximum number of basic blocks in a function."   
)