clang
6.0.0
|
Namespaces | |
bugreporter | |
categories | |
check | |
cocoa | |
coreFoundation | |
eval | |
loc | |
mpi | |
nonloc | |
objc_retain | |
summMgr | |
Classes | |
class | AllocaRegion |
AllocaRegion - A region that represents an untyped blob of bytes created by a call to 'alloca'. More... | |
class | AnalysisAction |
class | AnalysisASTConsumer |
class | AnalysisManager |
class | AnyFunctionCall |
Represents a call to any sort of function that might have a FunctionDecl. More... | |
class | APSIntType |
A record of the "type" of an APSInt, used for conversions. More... | |
class | BasicValueFactory |
class | BinarySymExpr |
Represents a symbolic expression involving a binary operator. More... | |
class | BlockCodeRegion |
BlockCodeRegion - A region that represents code texts of blocks (closures). More... | |
class | BlockCounter |
An abstract data type used to count the number of times a given block has been visited along a path analyzed by CoreEngine. More... | |
class | BlockDataRegion |
BlockDataRegion - A region that represents a block instance. More... | |
class | BranchNodeBuilder |
BranchNodeBuilder is responsible for constructing the nodes corresponding to the two branches of the if statement - true and false. More... | |
class | BugReport |
This class provides an interface through which checkers can create individual bug reports. More... | |
class | BugReportEquivClass |
class | BugReporter |
BugReporter is a utility class for generating PathDiagnostics for analysis. More... | |
class | BugReporterContext |
class | BugReporterData |
class | BugReporterVisitor |
BugReporterVisitors are used to add custom diagnostics along a path. More... | |
class | BugReporterVisitorImpl |
This class provides a convenience implementation for clone() using the Curiously-Recurring Template Pattern. More... | |
class | BugType |
class | BuiltinBug |
class | CallDescription |
This class represents a description of a function call using the number of arguments and the name of the function. More... | |
class | CallEvent |
Represents an abstract call to a function or method along a particular path. More... | |
class | CallEventRef |
class | Checker |
class | Checker< CHECK1 > |
class | CheckerBase |
class | CheckerContext |
class | CheckerDocumentation |
This checker documents the callback functions checkers can use to implement the custom handling of the specific events during path exploration as well as reporting bugs. More... | |
class | CheckerFn |
class | CheckerFn< RET(Ps...)> |
class | CheckerManager |
class | CheckerOptInfo |
Represents a request to include or exclude a checker or package from a specific analysis run. More... | |
class | CheckerProgramPointTag |
Tag that can use a checker name as a message provider (see SimpleProgramPointTag). More... | |
class | CheckerRegistry |
Manages a set of available checkers for running a static analysis. More... | |
class | CheckName |
class | CodeSpaceRegion |
CodeSpaceRegion - The memory space that holds the executable code of functions and blocks. More... | |
class | CodeTextRegion |
class | CompoundLiteralRegion |
CompoundLiteralRegion - A memory region representing a compound literal. More... | |
class | CompoundValData |
class | ConditionBRVisitor |
Visitor that tries to report interesting diagnostics from conditions. More... | |
class | ConditionTruthVal |
class | ConstraintManager |
class | CoreEngine |
CoreEngine - Implements the core logic of the graph-reachability analysis. More... | |
class | CXXBaseObjectRegion |
class | CXXSelfAssignmentBRVisitor |
class | CXXTempObjectRegion |
class | CXXThisRegion |
CXXThisRegion - Represents the region for the implicit 'this' parameter in a call to a C++ method. More... | |
class | DeclRegion |
struct | DefaultBool |
A helper class which wraps a boolean value set to false by default. More... | |
class | DefinedOrUnknownSVal |
class | DefinedSVal |
struct | DerivedSymTaint |
The GDM component mapping derived symbols' parent symbols to their underlying regions. More... | |
class | DynamicTypeInfo |
Stores the currently inferred strictest bound on the runtime type of a region in a given state along the analysis path. More... | |
struct | DynamicTypeMap |
The GDM component containing the dynamic type info. More... | |
class | ElementRegion |
ElementRegin is used to represent both array elements and casts. More... | |
class | Environment |
An immutable map from EnvironemntEntries to SVals. More... | |
class | EnvironmentEntry |
An entry in the environment consists of a Stmt and an LocationContext. More... | |
class | EnvironmentManager |
class | EventDispatcher |
class | ExplodedGraph |
class | ExplodedNode |
class | ExplodedNodeSet |
class | ExprEngine |
class | FieldRegion |
class | FindLastStoreBRVisitor |
class | FullSValVisitor |
FullSValVisitor - a convenient mixed visitor for all three: SVal, SymExpr and MemRegion subclasses. More... | |
class | FunctionCodeRegion |
FunctionCodeRegion - A region that represents code texts of function. More... | |
class | FunctionSummariesTy |
class | GlobalImmutableSpaceRegion |
The region containing globals which are considered not to be modified or point to data which could be modified as a result of a function call (system or internal). More... | |
class | GlobalInternalSpaceRegion |
The region containing globals which can be modified by calls to "internally" defined functions - (for now just) functions other then system calls. More... | |
class | GlobalsSpaceRegion |
class | GlobalSystemSpaceRegion |
The region containing globals which are defined in system/external headers and are considered modifiable by system calls (ex: errno). More... | |
class | GRBugReporter |
class | HeapSpaceRegion |
struct | ImplicitNullDerefEvent |
We dereferenced a location that may be null. More... | |
class | IndirectGotoNodeBuilder |
class | IntSymExpr |
Represents a symbolic expression like 3 - 'x'. More... | |
class | KnownSVal |
Represents an SVal that is guaranteed to not be UnknownVal. More... | |
class | LazyCompoundValData |
class | LikelyFalsePositiveSuppressionBRVisitor |
Suppress reports that might lead to known false positives. More... | |
class | Loc |
class | MemRegion |
MemRegion - The root abstract class for all memory regions. More... | |
class | MemRegionManager |
class | MemRegionVisitor |
MemRegionVisitor - this class implements a simple visitor for MemRegion subclasses. More... | |
class | MemSpaceRegion |
MemSpaceRegion - A memory region that represents a "memory space"; for example, the set of global variables, the stack frame, etc. More... | |
class | ModelConsumer |
ASTConsumer to consume model files' AST. More... | |
class | ModelInjector |
class | NilReceiverBRVisitor |
Prints path notes when a message is sent to a nil receiver. More... | |
class | NodeBuilder |
This is the simplest builder which generates nodes in the ExplodedGraph. More... | |
struct | NodeBuilderContext |
class | NodeBuilderWithSinks |
This node builder keeps track of the generated sink nodes. More... | |
class | NonLoc |
class | NonStaticGlobalSpaceRegion |
The region for all the non-static global variables. More... | |
class | ObjCIvarRegion |
class | ObjCStringRegion |
The region associated with an ObjCStringLiteral. More... | |
class | ParseModelFileAction |
Frontend action to parse model files. More... | |
class | PathDiagnostic |
PathDiagnostic - PathDiagnostic objects represent a single path-sensitive diagnostic. More... | |
class | PathDiagnosticCallPiece |
class | PathDiagnosticConsumer |
class | PathDiagnosticControlFlowPiece |
class | PathDiagnosticEventPiece |
class | PathDiagnosticLocation |
class | PathDiagnosticLocationPair |
class | PathDiagnosticMacroPiece |
class | PathDiagnosticNotePiece |
class | PathDiagnosticPiece |
class | PathDiagnosticRange |
class | PathDiagnosticSpotPiece |
class | PathPieces |
class | PointerToMemberData |
class | PrettyStackTraceLocationContext |
While alive, includes the current analysis stack in a crash trace. More... | |
class | ProgramState |
ProgramState - This class encapsulates: More... | |
class | ProgramStateManager |
struct | ProgramStatePartialTrait |
struct | ProgramStatePartialTrait< bool > |
struct | ProgramStatePartialTrait< const void * > |
struct | ProgramStatePartialTrait< llvm::ImmutableList< T > > |
struct | ProgramStatePartialTrait< llvm::ImmutableMap< Key, Data, Info > > |
struct | ProgramStatePartialTrait< llvm::ImmutableSet< Key, Info > > |
struct | ProgramStatePartialTrait< unsigned > |
struct | ProgramStatePartialTrait< void * > |
struct | ProgramStateTrait |
struct | ProgramStateTrait< DerivedSymTaint > |
struct | ProgramStateTrait< DynamicTypeMap > |
struct | ProgramStateTrait< mpi::RequestMap > |
struct | ProgramStateTrait< ReplayWithoutInlining > |
struct | ProgramStateTrait< SymbolSet > |
struct | ProgramStateTrait< TaintMap > |
class | RangedConstraintManager |
class | RegionAndSymbolInvalidationTraits |
Information about invalidation for a particular region/symbol. More... | |
class | RegionOffset |
Represent a region's offset within the top level base region. More... | |
class | RegionRawOffset |
struct | ReplayWithoutInlining |
Traits for storing the call processing policy inside GDM. More... | |
class | RuntimeDefinition |
Defines the runtime definition of the called function. More... | |
class | ScanReachableSymbols |
A utility class that visits the reachable symbols using a custom SymbolVisitor. More... | |
class | SimpleConstraintManager |
class | SimpleFunctionCall |
Represents a C function or static C++ member function call. More... | |
class | StackArgumentsSpaceRegion |
class | StackHintGenerator |
Interface for classes constructing Stack hints. More... | |
class | StackHintGeneratorForSymbol |
Constructs a Stack hint for the given symbol. More... | |
class | StackLocalsSpaceRegion |
class | StackSpaceRegion |
class | StaticGlobalSpaceRegion |
The region of the static variables within the current CodeTextRegion scope. More... | |
class | StmtNodeBuilder |
This builder class is useful for generating nodes that resulted from visiting a statement. More... | |
class | StoreManager |
class | StoreRef |
class | StringRegion |
StringRegion - Region associated with a StringLiteral. More... | |
class | SubEngine |
class | SubRegion |
SubRegion - A region that subsets another larger region. More... | |
class | SummaryManager |
class | SummaryManagerImpl |
class | SuppressInlineDefensiveChecksVisitor |
class | SVal |
SVal - This represents a symbolic expression, which can be either an L-value or an R-value. More... | |
class | SValBuilder |
class | SValExplainer |
class | SValVisitor |
SValVisitor - this class implements a simple visitor for SVal subclasses. More... | |
class | SwitchNodeBuilder |
class | SymbolCast |
Represents a cast expression. More... | |
class | SymbolConjured |
A symbol representing the result of an expression in the case when we do not know anything about what the expression is. More... | |
class | SymbolData |
A symbol representing data which can be stored in a memory location (region). More... | |
class | SymbolDerived |
A symbol representing the value of a MemRegion whose parent region has symbolic value. More... | |
class | SymbolExtent |
SymbolExtent - Represents the extent (size in bytes) of a bounded region. More... | |
class | SymbolicRegion |
SymbolicRegion - A special, "non-concrete" region. More... | |
class | SymbolManager |
class | SymbolMetadata |
SymbolMetadata - Represents path-dependent metadata about a specific region. More... | |
class | SymbolReaper |
A class responsible for cleaning up unused symbols. More... | |
class | SymbolRegionValue |
A symbol representing the value stored at a MemRegion. More... | |
class | SymbolVisitor |
class | SymExpr |
Symbolic value. More... | |
class | SymExprVisitor |
SymExprVisitor - this class implements a simple visitor for SymExpr subclasses. More... | |
class | SymIntExpr |
Represents a symbolic expression like 'x' + 3. More... | |
class | SymSymExpr |
Represents a symbolic expression like 'x' + 'y'. More... | |
class | TaintManager |
struct | TaintMap |
The GDM component containing the tainted root symbols. More... | |
class | TrackConstraintBRVisitor |
class | TypedRegion |
TypedRegion - An abstract class representing regions that are typed. More... | |
class | TypedValueRegion |
TypedValueRegion - An abstract class representing regions having a typed value. More... | |
class | UndefinedVal |
class | UndefOrNullArgVisitor |
When a region containing undefined value or '0' value is passed as an argument in a call, marks the call as interesting. More... | |
class | UnknownSpaceRegion |
class | UnknownVal |
class | VarRegion |
class | WorkList |
class | WorkListUnit |
Enumerations | |
enum | PointerEscapeKind { PSK_EscapeOnBind, PSK_DirectEscapeOnCall, PSK_IndirectEscapeOnCall, PSK_EscapeOther } |
Describes the different reasons a pointer escapes during analysis. More... | |
enum | ObjCMessageVisitKind { ObjCMessageVisitKind::Pre, ObjCMessageVisitKind::Post, ObjCMessageVisitKind::MessageNil } |
enum | CallEventKind { CE_Function, CE_CXXMember, CE_CXXMemberOperator, CE_CXXDestructor, CE_BEG_CXX_INSTANCE_CALLS = CE_CXXMember, CE_END_CXX_INSTANCE_CALLS = CE_CXXDestructor, CE_CXXConstructor, CE_CXXAllocator, CE_BEG_FUNCTION_CALLS = CE_Function, CE_END_FUNCTION_CALLS = CE_CXXAllocator, CE_Block, CE_ObjCMessage } |
Functions | |
void | registerBuiltinCheckers (CheckerRegistry ®istry) |
void | RegisterCallInliner (ExprEngine &Eng) |
raw_ostream & | operator<< (raw_ostream &Out, const CheckerBase &Checker) |
Dump checker name to stream. More... | |
bool | containsMacro (const Stmt *S) |
bool | containsEnum (const Stmt *S) |
bool | containsStaticLocal (const Stmt *S) |
bool | containsBuiltinOffsetOf (const Stmt *S) |
template<class T > | |
bool | containsStmt (const Stmt *S) |
std::pair< const clang::VarDecl *, const clang::Expr * > | parseAssignment (const Stmt *S) |
std::unique_ptr< ConstraintManager > | CreateRangeConstraintManager (ProgramStateManager &statemgr, SubEngine *subengine) |
std::unique_ptr< ConstraintManager > | CreateZ3ConstraintManager (ProgramStateManager &statemgr, SubEngine *subengine) |
DynamicTypeInfo | getDynamicTypeInfo (ProgramStateRef State, const MemRegion *Reg) |
Get dynamic type information for a region. More... | |
ProgramStateRef | setDynamicTypeInfo (ProgramStateRef State, const MemRegion *Reg, DynamicTypeInfo NewTy) |
Set dynamic type information of the region; return the new state. More... | |
ProgramStateRef | setDynamicTypeInfo (ProgramStateRef State, const MemRegion *Reg, QualType NewTy, bool CanBeSubClassed=true) |
Set dynamic type information of the region; return the new state. More... | |
bool | isUnrolledState (ProgramStateRef State) |
Returns if the given State indicates that is inside a completely unrolled loop. More... | |
ProgramStateRef | updateLoopStack (const Stmt *LoopStmt, ASTContext &ASTCtx, ExplodedNode *Pred, unsigned maxVisitOnPath) |
Updates the stack of loops contained by the ProgramState. More... | |
ProgramStateRef | processLoopEnd (const Stmt *LoopStmt, ProgramStateRef State) |
Updates the given ProgramState. More... | |
ProgramStateRef | getWidenedLoopState (ProgramStateRef PrevState, const LocationContext *LCtx, unsigned BlockCount, const Stmt *LoopStmt) |
Get the states that result from widening the loop. More... | |
raw_ostream & | operator<< (raw_ostream &os, const clang::ento::MemRegion *R) |
void | ProgramStateRetain (const ProgramState *state) |
Increments the number of times this state is referenced. More... | |
void | ProgramStateRelease (const ProgramState *state) |
Decrement the number of times this state is referenced. More... | |
std::unique_ptr< StoreManager > | CreateRegionStoreManager (ProgramStateManager &StMgr) |
std::unique_ptr< StoreManager > | CreateFieldsOnlyRegionStoreManager (ProgramStateManager &StMgr) |
SValBuilder * | createSimpleSValBuilder (llvm::BumpPtrAllocator &alloc, ASTContext &context, ProgramStateManager &stateMgr) |
raw_ostream & | operator<< (raw_ostream &os, clang::ento::SVal V) |
raw_ostream & | operator<< (raw_ostream &os, const clang::ento::SymExpr *SE) |
std::unique_ptr< AnalysisASTConsumer > | CreateAnalysisConsumer (CompilerInstance &CI) |
CreateAnalysisConsumer - Creates an ASTConsumer to run various code analysis passes. More... | |
std::unique_ptr< CheckerManager > | createCheckerManager (AnalyzerOptions &opts, const LangOptions &langOpts, ArrayRef< std::string > plugins, DiagnosticsEngine &diags) |
void | printCheckerHelp (raw_ostream &OS, ArrayRef< std::string > plugins) |
void | printEnabledCheckerList (raw_ostream &OS, ArrayRef< std::string > plugins, const AnalyzerOptions &opts) |
bool | shouldIncludeAllocationSiteInLeakDiagnostics (AnalyzerOptions &AOpts) |
Returns true if leak diagnostics should directly reference the allocatin site (where possible). More... | |
void | registerCStringCheckerBasic (CheckerManager &Mgr) |
Register the checker which evaluates CString API calls. More... | |
template<typename... IdentifierInfos> | |
static Selector | getKeywordSelector (ASTContext &Ctx, IdentifierInfos *... IIs) |
template<typename... IdentifierInfos> | |
static void | lazyInitKeywordSelector (Selector &Sel, ASTContext &Ctx, IdentifierInfos *... IIs) |
static void | lazyInitNullarySelector (Selector &Sel, ASTContext &Ctx, const char *Name) |
static bool | isLoopStmt (const Stmt *S) |
static internal::Matcher< Stmt > | simpleCondition (StringRef BindName) |
static internal::Matcher< Stmt > | changeIntBoundNode (internal::Matcher< Decl > VarNodeMatcher) |
static internal::Matcher< Stmt > | callByRef (internal::Matcher< Decl > VarNodeMatcher) |
static internal::Matcher< Stmt > | assignedToRef (internal::Matcher< Decl > VarNodeMatcher) |
static internal::Matcher< Stmt > | getAddrTo (internal::Matcher< Decl > VarNodeMatcher) |
static internal::Matcher< Stmt > | hasSuspiciousStmt (StringRef NodeName) |
static internal::Matcher< Stmt > | forLoopMatcher () |
static bool | isPossiblyEscaped (const VarDecl *VD, ExplodedNode *N) |
bool | shouldCompletelyUnroll (const Stmt *LoopStmt, ASTContext &ASTCtx, ExplodedNode *Pred, unsigned &maxStep) |
bool | madeNewBranch (ExplodedNode *N, const Stmt *LoopStmt) |
Variables | |
static const TaintTagType | TaintTagGeneric = 0 |
typedef std::unique_ptr<ConstraintManager>(* clang::ento::ConstraintManagerCreator) (ProgramStateManager &, SubEngine *) |
Definition at line 42 of file ProgramState.h.
Definition at line 42 of file TaintManager.h.
typedef llvm::ImmutableMap<const MemRegion *, DynamicTypeInfo> clang::ento::DynamicTypeMapImpl |
Definition at line 28 of file DynamicTypeMap.h.
typedef llvm::DenseMap<const ExplodedNode *, const ExplodedNode *> clang::ento::InterExplodedGraphMap |
Definition at line 244 of file ExplodedGraph.h.
typedef llvm::PointerUnion<const LocationContext*, AnalysisDeclContext*> clang::ento::LocationOrAnalysisDeclContext |
Definition at line 132 of file PathDiagnostic.h.
typedef std::vector<PathDiagnosticConsumer*> clang::ento::PathDiagnosticConsumers |
Definition at line 27 of file PathDiagnosticConsumers.h.
typedef IntrusiveRefCntPtr<const ProgramState> clang::ento::ProgramStateRef |
Definition at line 38 of file ProgramState_Fwd.h.
typedef llvm::DenseSet<const Decl*> clang::ento::SetOfConstDecls |
Definition at line 29 of file FunctionSummary.h.
typedef std::deque<Decl*> clang::ento::SetOfDecls |
Definition at line 28 of file FunctionSummary.h.
typedef const void* clang::ento::Store |
Store - This opaque type encapsulates an immutable mapping from locations to values.
At a high-level, it represents the symbolic memory model. Different subclasses of StoreManager may choose different types to represent the locations and values.
Definition at line 26 of file StoreRef.h.
typedef std::unique_ptr<StoreManager>(* clang::ento::StoreManagerCreator) (ProgramStateManager &) |
Definition at line 44 of file ProgramState.h.
typedef unsigned clang::ento::SymbolID |
typedef const SymExpr * clang::ento::SymbolRef |
Definition at line 46 of file PathDiagnostic.h.
typedef SmallVector<SymbolRef, 2> clang::ento::SymbolRefSmallVectorTy |
typedef llvm::ImmutableMap<const SubRegion*, TaintTagType> clang::ento::TaintedSubRegions |
Definition at line 46 of file ProgramState.h.
Definition at line 32 of file TaintManager.h.
typedef unsigned clang::ento::TaintTagType |
The type of taint, which helps to differentiate between different types of taint.
Definition at line 22 of file TaintTag.h.
Definition at line 35 of file CallEvent.h.
|
strong |
Enumerator | |
---|---|
Pre | |
Post | |
MessageNil |
Definition at line 97 of file CheckerManager.h.
Describes the different reasons a pointer escapes during analysis.
Definition at line 65 of file CheckerManager.h.
|
static |
Definition at line 115 of file LoopUnrolling.cpp.
References clang::ast_matchers::allOf, clang::ast_matchers::anyOf, clang::ast_matchers::declRefExpr, clang::ast_matchers::declStmt, clang::ast_matchers::has, clang::ast_matchers::hasDescendant, clang::ast_matchers::initListExpr, clang::ast_matchers::referenceType, and clang::ast_matchers::varDecl.
Referenced by hasSuspiciousStmt().
|
static |
Definition at line 108 of file LoopUnrolling.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::declRefExpr, clang::ast_matchers::parmVarDecl, clang::ast_matchers::qualType, clang::ast_matchers::unless, and clang::ast_matchers::varDecl.
Referenced by hasSuspiciousStmt().
|
static |
Definition at line 95 of file LoopUnrolling.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::binaryOperator, clang::ast_matchers::declRefExpr, clang::ast_matchers::unaryOperator, and clang::ast_matchers::varDecl.
Referenced by hasSuspiciousStmt().
Definition at line 64 of file CheckerHelpers.cpp.
Definition at line 34 of file CheckerHelpers.cpp.
Definition at line 19 of file CheckerHelpers.cpp.
Definition at line 48 of file CheckerHelpers.cpp.
Definition at line 31 of file CheckerHelpers.h.
std::unique_ptr< AnalysisASTConsumer > clang::ento::CreateAnalysisConsumer | ( | CompilerInstance & | CI | ) |
CreateAnalysisConsumer - Creates an ASTConsumer to run various code analysis passes.
(The set of analyses run is controlled by command-line options.)
Definition at line 757 of file AnalysisConsumer.cpp.
References Filename, clang::CompilerInstance::getAnalyzerOpts(), clang::Preprocessor::getDiagnostics(), clang::CompilerInstance::getFrontendOpts(), clang::CompilerInstance::getPreprocessor(), clang::FrontendOptions::OutputFile, clang::FrontendOptions::Plugins, and clang::DiagnosticsEngine::setWarningsAsErrors().
Referenced by clang::ento::AnalysisAction::CreateASTConsumer().
std::unique_ptr< CheckerManager > clang::ento::createCheckerManager | ( | AnalyzerOptions & | opts, |
const LangOptions & | langOpts, | ||
ArrayRef< std::string > | plugins, | ||
DiagnosticsEngine & | diags | ||
) |
Definition at line 115 of file CheckerRegistration.cpp.
References getCheckerOptList(), and clang::DiagnosticsEngine::Report().
std::unique_ptr< StoreManager > clang::ento::CreateFieldsOnlyRegionStoreManager | ( | ProgramStateManager & | StMgr | ) |
Definition at line 637 of file RegionStore.cpp.
Referenced by clang::ento::StoreRef::operator=().
std::unique_ptr< ConstraintManager > clang::ento::CreateRangeConstraintManager | ( | ProgramStateManager & | statemgr, |
SubEngine * | subengine | ||
) |
Definition at line 368 of file RangeConstraintManager.cpp.
References clang::ento::BasicValueFactory::getAPSIntType(), clang::ento::SVal::getAs(), clang::ento::ProgramStateManager::getSValBuilder(), clang::ento::SymExpr::getType(), clang::ento::APSIntType::getZeroValue(), clang::BinaryOperator::isEqualityOp(), clang::ento::Loc::isLocType(), clang::BinaryOperator::isRelationalOp(), State, clang::T, and X.
std::unique_ptr< StoreManager > clang::ento::CreateRegionStoreManager | ( | ProgramStateManager & | StMgr | ) |
Definition at line 631 of file RegionStore.cpp.
Referenced by clang::ento::StoreRef::operator=().
SValBuilder * clang::ento::createSimpleSValBuilder | ( | llvm::BumpPtrAllocator & | alloc, |
ASTContext & | context, | ||
ProgramStateManager & | stateMgr | ||
) |
Definition at line 57 of file SimpleSValBuilder.cpp.
References clang::ento::SVal::castAs(), clang::ento::SVal::getAs(), and clang::ento::Loc::isLocType().
Referenced by clang::ento::SValBuilder::makeLoc().
std::unique_ptr< ConstraintManager > clang::ento::CreateZ3ConstraintManager | ( | ProgramStateManager & | statemgr, |
SubEngine * | subengine | ||
) |
Definition at line 1611 of file Z3ConstraintManager.cpp.
References clang::ento::ProgramStateManager::getSValBuilder().
|
static |
Definition at line 142 of file LoopUnrolling.cpp.
References clang::ast_matchers::allOf, clang::ast_matchers::anyOf, clang::ast_matchers::binaryOperator, clang::ast_matchers::declRefExpr, clang::ast_matchers::declStmt, clang::ast_matchers::forStmt, hasSuspiciousStmt(), clang::ast_matchers::integerLiteral, simpleCondition(), clang::ast_matchers::unaryOperator, clang::ast_matchers::unless, and clang::ast_matchers::varDecl.
|
static |
Definition at line 124 of file LoopUnrolling.cpp.
References clang::ast_matchers::declRefExpr, clang::ast_matchers::hasDeclaration(), and clang::ast_matchers::unaryOperator.
Referenced by hasSuspiciousStmt().
DynamicTypeInfo clang::ento::getDynamicTypeInfo | ( | ProgramStateRef | State, |
const MemRegion * | Reg | ||
) |
Get dynamic type information for a region.
Definition at line 21 of file DynamicTypeMap.cpp.
References clang::ento::SymExpr::getType(), and clang::ento::MemRegion::StripCasts().
Referenced by clang::ento::ProgramStateTrait< DynamicTypeMap >::GDMIndex(), clang::CXXInstanceCall::getRuntimeDefinition(), hasDefinition(), and recordFixedType().
|
inlinestatic |
Definition at line 19 of file SelectorExtras.h.
References clang::IdentifierTable::get(), clang::SelectorTable::getSelector(), clang::ASTContext::Idents, and clang::ASTContext::Selectors.
Referenced by lazyInitKeywordSelector().
ProgramStateRef clang::ento::getWidenedLoopState | ( | ProgramStateRef | PrevState, |
const LocationContext * | LCtx, | ||
unsigned | BlockCount, | ||
const Stmt * | LoopStmt | ||
) |
Get the states that result from widening the loop.
Widen the loop by invalidating anything that might be modified by the loop body in any iteration.
Definition at line 39 of file LoopWidening.cpp.
References clang::LocationContext::getCurrentStackFrame(), clang::ento::MemRegionManager::getGlobalsRegion(), getLoopCondition(), clang::ento::MemRegionManager::getStackArgumentsRegion(), clang::ento::MemRegionManager::getStackLocalsRegion(), clang::ento::RegionAndSymbolInvalidationTraits::setTrait(), and clang::ento::RegionAndSymbolInvalidationTraits::TK_EntireMemSpace.
Referenced by clang::ento::ExprEngine::processCFGBlockEntrance().
|
static |
Definition at line 130 of file LoopUnrolling.cpp.
References clang::ast_matchers::anyOf, assignedToRef(), callByRef(), changeIntBoundNode(), getAddrTo(), clang::ast_matchers::gotoStmt, clang::ast_matchers::hasDescendant, clang::ast_matchers::returnStmt, clang::ast_matchers::stmt, and clang::ast_matchers::switchStmt.
Referenced by forLoopMatcher().
Definition at line 72 of file LoopUnrolling.cpp.
Referenced by shouldCompletelyUnroll(), and updateLoopStack().
|
static |
Definition at line 163 of file LoopUnrolling.cpp.
References clang::VarDecl::hasGlobalStorage(), and clang::ento::ExplodedNode::pred_empty().
bool clang::ento::isUnrolledState | ( | ProgramStateRef | State | ) |
Returns if the given State indicates that is inside a completely unrolled loop.
Definition at line 287 of file LoopUnrolling.cpp.
Referenced by clang::ento::ExprEngine::processCFGBlockEntrance().
|
inlinestatic |
Definition at line 29 of file SelectorExtras.h.
References getKeywordSelector(), and clang::Selector::isNull().
|
inlinestatic |
Definition at line 36 of file SelectorExtras.h.
bool clang::ento::madeNewBranch | ( | ExplodedNode * | N, |
const Stmt * | LoopStmt | ||
) |
Definition at line 230 of file LoopUnrolling.cpp.
Referenced by updateLoopStack().
|
inline |
Definition at line 101 of file SymExpr.h.
References clang::ento::SymExpr::dumpToStream().
|
inline |
Definition at line 198 of file SVals.h.
References clang::ento::SVal::dumpToStream().
raw_ostream & clang::ento::operator<< | ( | raw_ostream & | Out, |
const CheckerBase & | Checker | ||
) |
Dump checker name to stream.
Definition at line 34 of file Checker.cpp.
References clang::ento::CheckerBase::getCheckName(), and clang::ento::CheckName::getName().
Referenced by clang::ento::CheckerBase::printState().
|
inline |
Definition at line 1419 of file MemRegion.h.
References clang::ento::MemRegion::dumpToStream().
std::pair< const clang::VarDecl *, const clang::Expr * > clang::ento::parseAssignment | ( | const Stmt * | S | ) |
Definition at line 77 of file CheckerHelpers.cpp.
void clang::ento::printCheckerHelp | ( | raw_ostream & | OS, |
ArrayRef< std::string > | plugins | ||
) |
Definition at line 140 of file CheckerRegistration.cpp.
Referenced by clang::ExecuteCompilerInvocation(), and clang::ento::ParseModelFileAction::isModelParsingAction().
void clang::ento::printEnabledCheckerList | ( | raw_ostream & | OS, |
ArrayRef< std::string > | plugins, | ||
const AnalyzerOptions & | opts | ||
) |
Definition at line 147 of file CheckerRegistration.cpp.
References getCheckerOptList().
Referenced by clang::ExecuteCompilerInvocation(), and clang::ento::ParseModelFileAction::isModelParsingAction().
ProgramStateRef clang::ento::processLoopEnd | ( | const Stmt * | LoopStmt, |
ProgramStateRef | State | ||
) |
Updates the given ProgramState.
In current implementation it removes the top element of the stack of loops.
Definition at line 76 of file LoopUnrolling.cpp.
References State.
void clang::ento::ProgramStateRelease | ( | const ProgramState * | state | ) |
Decrement the number of times this state is referenced.
Definition at line 33 of file ProgramState.cpp.
References clang::ento::ProgramState::getStateManager(), clang::CodeGen::state, and clang::ento::ProgramState::~ProgramState().
Referenced by clang::ento::ProgramState::contains(), and llvm::IntrusiveRefCntPtrInfo< const clang::ento::ProgramState >::release().
void clang::ento::ProgramStateRetain | ( | const ProgramState * | state | ) |
Increments the number of times this state is referenced.
Definition at line 28 of file ProgramState.cpp.
References clang::CodeGen::state.
Referenced by clang::ento::ProgramState::contains(), and llvm::IntrusiveRefCntPtrInfo< const clang::ento::ProgramState >::retain().
void clang::ento::registerBuiltinCheckers | ( | CheckerRegistry & | registry | ) |
Definition at line 26 of file ClangCheckers.cpp.
void clang::ento::RegisterCallInliner | ( | ExprEngine & | Eng | ) |
void clang::ento::registerCStringCheckerBasic | ( | CheckerManager & | Mgr | ) |
Register the checker which evaluates CString API calls.
Definition at line 2268 of file CStringChecker.cpp.
ProgramStateRef clang::ento::setDynamicTypeInfo | ( | ProgramStateRef | State, |
const MemRegion * | Reg, | ||
DynamicTypeInfo | NewTy | ||
) |
Set dynamic type information of the region; return the new state.
Definition at line 42 of file DynamicTypeMap.cpp.
References clang::ento::MemRegion::StripCasts().
Referenced by clang::ento::ProgramStateTrait< DynamicTypeMap >::GDMIndex(), getReturnTypeForMethod(), recordFixedType(), and setDynamicTypeInfo().
|
inline |
Set dynamic type information of the region; return the new state.
Definition at line 47 of file DynamicTypeMap.h.
References setDynamicTypeInfo().
bool clang::ento::shouldCompletelyUnroll | ( | const Stmt * | LoopStmt, |
ASTContext & | ASTCtx, | ||
ExplodedNode * | Pred, | ||
unsigned & | maxStep | ||
) |
Definition at line 198 of file LoopUnrolling.cpp.
References isLoopStmt().
Referenced by updateLoopStack().
bool clang::ento::shouldIncludeAllocationSiteInLeakDiagnostics | ( | AnalyzerOptions & | AOpts | ) |
Returns true if leak diagnostics should directly reference the allocatin site (where possible).
The default is false.
Definition at line 19 of file AllocationDiagnostics.cpp.
References clang::AnalyzerOptions::getBooleanOption().
Referenced by GetAllocationSite().
|
static |
Definition at line 83 of file LoopUnrolling.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::binaryOperator, clang::ast_matchers::declRefExpr, clang::ast_matchers::hasEitherOperand(), clang::ast_matchers::integerLiteral, and clang::ast_matchers::varDecl.
Referenced by forLoopMatcher().
ProgramStateRef clang::ento::updateLoopStack | ( | const Stmt * | LoopStmt, |
ASTContext & | ASTCtx, | ||
ExplodedNode * | Pred, | ||
unsigned | maxVisitOnPath | ||
) |
Updates the stack of loops contained by the ProgramState.
Definition at line 250 of file LoopUnrolling.cpp.
References clang::ento::ExplodedNode::getLocationContext(), LoopState::getNormal(), clang::ento::ExplodedNode::getState(), LoopState::getUnrolled(), isLoopStmt(), madeNewBranch(), MAXIMUM_STEP_UNROLLED, shouldCompletelyUnroll(), and State.
Referenced by clang::ento::ExprEngine::processCFGBlockEntrance().
|
static |
Definition at line 23 of file TaintTag.h.