clang
3.7.0
|
Namespaces | |
bugreporter | |
categories | |
check | |
cocoa | |
coreFoundation | |
eval | |
loc | |
nonloc | |
objc_retain | |
summMgr | |
Classes | |
class | BugReport |
class | BugReportEquivClass |
class | BugReporterData |
class | BugReporter |
class | GRBugReporter |
class | BugReporterContext |
class | BugReporterVisitor |
BugReporterVisitors are used to add custom diagnostics along a path. More... | |
class | BugReporterVisitorImpl |
class | FindLastStoreBRVisitor |
class | TrackConstraintBRVisitor |
class | NilReceiverBRVisitor |
Prints path notes when a message is sent to a nil receiver. More... | |
class | ConditionBRVisitor |
Visitor that tries to report interesting diagnostics from conditions. More... | |
class | LikelyFalsePositiveSuppressionBRVisitor |
Suppress reports that might lead to known false positives. More... | |
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 | SuppressInlineDefensiveChecksVisitor |
class | BugType |
class | BuiltinBug |
class | PathDiagnosticConsumer |
class | PathDiagnosticRange |
class | PathDiagnosticLocation |
class | PathDiagnosticLocationPair |
class | PathDiagnosticPiece |
class | PathPieces |
class | PathDiagnosticSpotPiece |
class | StackHintGenerator |
Interface for classes constructing Stack hints. More... | |
class | StackHintGeneratorForSymbol |
Constructs a Stack hint for the given symbol. More... | |
class | PathDiagnosticEventPiece |
class | PathDiagnosticCallPiece |
class | PathDiagnosticControlFlowPiece |
class | PathDiagnosticMacroPiece |
class | PathDiagnostic |
class | CheckerBase |
class | CheckerProgramPointTag |
class | Checker |
class | Checker< CHECK1 > |
class | EventDispatcher |
struct | ImplicitNullDerefEvent |
We dereferenced a location that may be null. More... | |
struct | DefaultBool |
A helper class which wraps a boolean value set to false by default. More... | |
class | CheckerFn |
class | CheckerFn< RET(Ps...)> |
class | CheckName |
class | CheckerManager |
class | CheckerOptInfo |
class | CheckerRegistry |
class | AnalysisManager |
class | APSIntType |
A record of the "type" of an APSInt, used for conversions. More... | |
class | CompoundValData |
class | LazyCompoundValData |
class | BasicValueFactory |
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 | CallEventRef |
class | RuntimeDefinition |
Defines the runtime definition of the called function. More... | |
class | CallEvent |
Represents an abstract call to a function or method along a particular path. More... | |
class | AnyFunctionCall |
Represents a call to any sort of function that might have a FunctionDecl. More... | |
class | SimpleFunctionCall |
Represents a C function or static C++ member function call. More... | |
class | CheckerContext |
class | ConditionTruthVal |
class | ConstraintManager |
class | CoreEngine |
struct | NodeBuilderContext |
class | NodeBuilder |
This is the simplest builder which generates nodes in the ExplodedGraph. More... | |
class | NodeBuilderWithSinks |
This node builder keeps track of the generated sink nodes. More... | |
class | StmtNodeBuilder |
This builder class is useful for generating nodes that resulted from visiting a statement. The main difference from its parent NodeBuilder is that it creates a statement specific ProgramPoint. More... | |
class | BranchNodeBuilder |
BranchNodeBuilder is responsible for constructing the nodes corresponding to the two branches of the if statement - true and false. More... | |
class | IndirectGotoNodeBuilder |
class | SwitchNodeBuilder |
class | DynamicTypeInfo |
Stores the currently inferred strictest bound on the runtime type of a region in a given state along the analysis path. More... | |
class | EnvironmentEntry |
class | Environment |
An immutable map from EnvironemntEntries to SVals. More... | |
class | EnvironmentManager |
class | ExplodedNode |
class | ExplodedGraph |
class | ExplodedNodeSet |
class | ExprEngine |
struct | ReplayWithoutInlining |
struct | ProgramStateTrait< ReplayWithoutInlining > |
class | FunctionSummariesTy |
class | RegionOffset |
Represent a region's offset within the top level base region. More... | |
class | MemRegion |
MemRegion - The root abstract class for all memory regions. More... | |
class | MemSpaceRegion |
class | GlobalsSpaceRegion |
class | StaticGlobalSpaceRegion |
The region of the static variables within the current CodeTextRegion scope. More... | |
class | NonStaticGlobalSpaceRegion |
The region for all the non-static global variables. More... | |
class | GlobalSystemSpaceRegion |
The region containing globals which are defined in system/external headers and are considered modifiable by system calls (ex: errno). More... | |
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). Ex: Const global scalars would be modeled as part of this region. This region also includes most system globals since they have low chance of being modified. 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 | HeapSpaceRegion |
class | UnknownSpaceRegion |
class | StackSpaceRegion |
class | StackLocalsSpaceRegion |
class | StackArgumentsSpaceRegion |
class | SubRegion |
class | AllocaRegion |
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 | CodeTextRegion |
class | FunctionTextRegion |
FunctionTextRegion - A region that represents code texts of function. More... | |
class | BlockTextRegion |
class | BlockDataRegion |
class | SymbolicRegion |
class | StringRegion |
StringRegion - Region associated with a StringLiteral. More... | |
class | ObjCStringRegion |
The region associated with an ObjCStringLiteral. More... | |
class | CompoundLiteralRegion |
class | DeclRegion |
class | VarRegion |
class | CXXThisRegion |
class | FieldRegion |
class | ObjCIvarRegion |
class | RegionRawOffset |
class | ElementRegion |
ElementRegin is used to represent both array elements and casts. More... | |
class | CXXTempObjectRegion |
class | CXXBaseObjectRegion |
class | MemRegionManager |
class | RegionAndSymbolInvalidationTraits |
Information about invalidation for a particular region/symbol. More... | |
struct | ProgramStatePartialTrait |
struct | ProgramStateTrait |
class | ProgramState |
class | ProgramStateManager |
class | ScanReachableSymbols |
struct | ProgramStatePartialTrait< llvm::ImmutableMap< Key, Data, Info > > |
struct | ProgramStatePartialTrait< llvm::ImmutableSet< Key, Info > > |
struct | ProgramStatePartialTrait< llvm::ImmutableList< T > > |
struct | ProgramStatePartialTrait< bool > |
struct | ProgramStatePartialTrait< unsigned > |
struct | ProgramStatePartialTrait< void * > |
struct | ProgramStatePartialTrait< const void * > |
class | StoreManager |
class | StoreRef |
class | SubEngine |
class | SummaryManagerImpl |
class | SummaryManager |
class | SValBuilder |
class | SVal |
class | UndefinedVal |
class | DefinedOrUnknownSVal |
class | UnknownVal |
class | DefinedSVal |
class | KnownSVal |
Represents an SVal that is guaranteed to not be UnknownVal. More... | |
class | NonLoc |
class | Loc |
class | SymExpr |
Symbolic value. These values used to capture symbolic execution of the program. More... | |
class | SymbolData |
A symbol representing data which can be stored in a memory location (region). More... | |
class | SymbolRegionValue |
A symbol representing the value stored at a MemRegion. More... | |
class | SymbolConjured |
class | SymbolDerived |
class | SymbolExtent |
class | SymbolMetadata |
class | SymbolCast |
Represents a cast expression. More... | |
class | BinarySymExpr |
Represents a symbolic expression involving a binary operator. More... | |
class | SymIntExpr |
Represents a symbolic expression like 'x' + 3. More... | |
class | IntSymExpr |
Represents a symbolic expression like 3 - 'x'. More... | |
class | SymSymExpr |
Represents a symbolic expression like 'x' + 'y'. More... | |
class | SymbolManager |
class | SymbolReaper |
A class responsible for cleaning up unused symbols. More... | |
class | SymbolVisitor |
struct | TaintMap |
struct | ProgramStateTrait< TaintMap > |
class | TaintManager |
class | WorkListUnit |
class | WorkList |
class | AnalysisASTConsumer |
class | AnalysisAction |
class | ParseModelFileAction |
Frontend action to parse model files. More... | |
class | ModelConsumer |
ASTConsumer to consume model files' AST. More... | |
class | CheckerDocumentation |
class | PrettyStackTraceLocationContext |
class | SimpleConstraintManager |
class | ModelInjector |
Typedefs | |
typedef const SymExpr * | SymbolRef |
typedef llvm::PointerUnion < const LocationContext *, AnalysisDeclContext * > | LocationOrAnalysisDeclContext |
typedef std::vector < PathDiagnosticConsumer * > | PathDiagnosticConsumers |
typedef llvm::DenseMap< const ExplodedNode *, const ExplodedNode * > | InterExplodedGraphMap |
typedef std::deque< Decl * > | SetOfDecls |
typedef llvm::DenseSet< const Decl * > | SetOfConstDecls |
typedef std::unique_ptr < ConstraintManager >(* | ConstraintManagerCreator )(ProgramStateManager &, SubEngine *) |
typedef std::unique_ptr < StoreManager >(* | StoreManagerCreator )(ProgramStateManager &) |
typedef IntrusiveRefCntPtr < const ProgramState > | ProgramStateRef |
typedef llvm::DenseSet< SymbolRef > | InvalidatedSymbols |
typedef const void * | Store |
typedef SmallVector< SymbolRef, 2 > | SymbolRefSmallVectorTy |
typedef unsigned | SymbolID |
typedef llvm::ImmutableMap < SymbolRef, TaintTagType > | TaintMapImpl |
typedef unsigned | TaintTagType |
Enumerations | |
enum | PointerEscapeKind { PSK_EscapeOnBind, PSK_DirectEscapeOnCall, PSK_IndirectEscapeOnCall, PSK_EscapeOther } |
Describes the different reasons a pointer escapes during analysis. More... | |
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::unique_ptr < ConstraintManager > | CreateRangeConstraintManager (ProgramStateManager &statemgr, SubEngine *subengine) |
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) |
std::unique_ptr < AnalysisASTConsumer > | CreateAnalysisConsumer (CompilerInstance &CI) |
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) |
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... | |
static Selector | getKeywordSelectorImpl (ASTContext &Ctx, const char *First, va_list argp) |
static Selector | getKeywordSelector (ASTContext &Ctx, va_list argp) |
static LLVM_END_WITH_NULL Selector | getKeywordSelector (ASTContext &Ctx, const char *First,...) |
static LLVM_END_WITH_NULL void | lazyInitKeywordSelector (Selector &Sel, ASTContext &Ctx, const char *First,...) |
static void | lazyInitNullarySelector (Selector &Sel, ASTContext &Ctx, const char *Name) |
static void | computeAdjustment (SymbolRef &Sym, llvm::APSInt &Adjustment) |
Variables | |
static const TaintTagType | TaintTagGeneric = 0 |
typedef std::unique_ptr<ConstraintManager>(* clang::ento::ConstraintManagerCreator)(ProgramStateManager &, SubEngine *) |
Definition at line 42 of file ProgramState.h.
typedef llvm::DenseMap<const ExplodedNode *, const ExplodedNode *> clang::ento::InterExplodedGraphMap |
Definition at line 245 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 |
Definition at line 101 of file SymbolManager.h.
typedef const SymExpr * clang::ento::SymbolRef |
Definition at line 46 of file PathDiagnostic.h.
typedef SmallVector<SymbolRef, 2> clang::ento::SymbolRefSmallVectorTy |
Definition at line 99 of file SymbolManager.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 34 of file CallEvent.h.
Describes the different reasons a pointer escapes during analysis.
Definition at line 64 of file CheckerManager.h.
|
static |
Definition at line 193 of file SimpleConstraintManager.cpp.
References clang::BO_Add, clang::BO_Sub, and clang::ento::APSIntType::convert().
Referenced by clang::ento::SimpleConstraintManager::assumeSymRel().
Definition at line 63 of file CheckerHelpers.cpp.
Definition at line 33 of file CheckerHelpers.cpp.
References clang::DeclRefExpr::getDecl(), and S.
Definition at line 18 of file CheckerHelpers.cpp.
Definition at line 47 of file CheckerHelpers.cpp.
References clang::DeclRefExpr::getDecl(), and S.
Definition at line 27 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 699 of file AnalysisConsumer.cpp.
References 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 103 of file CheckerRegistration.cpp.
References clang::AnalyzerOptions::CheckersControlList, and clang::DiagnosticsEngine::Report().
std::unique_ptr< StoreManager > clang::ento::CreateFieldsOnlyRegionStoreManager | ( | ProgramStateManager & | StMgr | ) |
Definition at line 619 of file RegionStore.cpp.
std::unique_ptr< ConstraintManager > clang::ento::CreateRangeConstraintManager | ( | ProgramStateManager & | statemgr, |
SubEngine * | subengine | ||
) |
Definition at line 332 of file RangeConstraintManager.cpp.
References clang::ento::ProgramStateManager::getSValBuilder().
std::unique_ptr< StoreManager > clang::ento::CreateRegionStoreManager | ( | ProgramStateManager & | StMgr | ) |
Definition at line 613 of file RegionStore.cpp.
SValBuilder * clang::ento::createSimpleSValBuilder | ( | llvm::BumpPtrAllocator & | alloc, |
ASTContext & | context, | ||
ProgramStateManager & | stateMgr | ||
) |
Definition at line 52 of file SimpleSValBuilder.cpp.
Definition at line 31 of file SelectorExtras.h.
References getKeywordSelectorImpl(), and va_arg.
|
inlinestatic |
Definition at line 38 of file SelectorExtras.h.
References getKeywordSelectorImpl(), va_end, and va_start.
|
inlinestatic |
Definition at line 19 of file SelectorExtras.h.
References clang::IdentifierTable::get(), clang::SelectorTable::getSelector(), clang::ASTContext::Idents, clang::ASTContext::Selectors, and va_arg.
Referenced by getKeywordSelector(), and lazyInitKeywordSelector().
|
inlinestatic |
Definition at line 48 of file SelectorExtras.h.
References getKeywordSelectorImpl(), clang::Selector::isNull(), va_end, and va_start.
|
inlinestatic |
Definition at line 58 of file SelectorExtras.h.
References clang::GetNullarySelector(), and clang::Selector::isNull().
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().
void clang::ento::printCheckerHelp | ( | raw_ostream & | OS, |
ArrayRef< std::string > | plugins | ||
) |
Definition at line 132 of file CheckerRegistration.cpp.
Referenced by clang::ExecuteCompilerInvocation().
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(), and clang::ento::ProgramState::~ProgramState().
Referenced by 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.
Referenced by 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 2082 of file CStringChecker.cpp.
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().
|
static |
Definition at line 23 of file TaintTag.h.