llvm-project/clang/lib/StaticAnalyzer/Checkers
Anna Zaks 66843480a6 [analyzer] SelfInit: Stop tracking self if it's assigned a value we
don't reason about.

Self is just like a local variable in init methods, so it can be
assigned anything like result of static functions, other methods ... So
to suppress false positives that result in such cases, stop tracking the
checker-specific state after self is being assigned to (unless the
value is't being assigned to is either self or conforms to our rules).

This change does not invalidate any existing regression tests.

llvm-svn: 156420
2012-05-08 21:19:21 +00:00
..
AdjustedReturnValueChecker.cpp Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
AnalyzerStatsChecker.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00
ArrayBoundChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
ArrayBoundCheckerV2.cpp Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
AttrNonNullChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
BasicObjCFoundationChecks.cpp [analyzer] Check that the arguments to NSOrderedSet creation methods are valid ObjC objects. 2012-04-06 19:06:01 +00:00
BoolAssignmentChecker.cpp [analyzer] New checker for assignment of non-0/1 values to Boolean variables. 2012-02-11 16:32:09 +00:00
BuiltinFunctionChecker.cpp Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
CMakeLists.txt Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
CStringChecker.cpp [analyzer] CString Checker: Do not split the path unless the user 2012-05-03 18:21:28 +00:00
CStringSyntaxChecker.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00
CallAndMessageChecker.cpp Remove the ref/value inconsistency in filter_decl_iterator. 2012-04-30 02:36:29 +00:00
CastSizeChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
CastToStructChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
CheckObjCDealloc.cpp Remove the ref/value inconsistency in filter_decl_iterator. 2012-04-30 02:36:29 +00:00
CheckObjCInstMethSignature.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
CheckSecuritySyntaxOnly.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00
CheckSizeofPointer.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00
CheckerDocumentation.cpp corrected check::EndOfTranslationUnit checker name and added 'const' to declaration 2012-03-23 02:43:24 +00:00
Checkers.td [analyzer]Turn on MallocSizeOfChecker by default; shorten the diagnostic 2012-05-07 23:30:29 +00:00
ChrootChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
ClangCheckers.cpp [analyzer] Overhaul of checker registration in preparation for basic plugin support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). 2011-08-16 21:24:21 +00:00
ClangSACheckers.h Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
CommonBugCategories.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
DeadStoresChecker.cpp Look through chains of 'x = y = z' when employing silencing heuristics in the DeadStoresChecker. 2012-04-04 19:58:03 +00:00
DebugCheckers.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
DereferenceChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
DivZeroChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
FixedAddressChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
GenericTaintChecker.cpp [analyzer] Don't crash even when the system functions are redefined. 2012-04-10 23:41:11 +00:00
IdempotentOperationChecker.cpp Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to 2012-03-10 09:33:50 +00:00
InterCheckerAPI.h [analyzer] Fix another false positive in the Malloc Checker, by making 2012-02-17 22:35:31 +00:00
IteratorsChecker.cpp StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers. 2012-01-28 12:06:22 +00:00
LLVMConventionsChecker.cpp Remove the ref/value inconsistency in filter_decl_iterator. 2012-04-30 02:36:29 +00:00
MacOSKeychainAPIChecker.cpp [analyzer] Add a clone() method to BugReporterVisitor, so that we'll be able to reset diagnostic generation. 2012-03-24 02:45:35 +00:00
MacOSXAPIChecker.cpp Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
Makefile Clang-side build system infrastructure for multiple tblgens. 2011-10-06 01:52:10 +00:00
MallocChecker.cpp [analyzer] Allow pointers escape through calls containing callback args. 2012-05-03 23:50:28 +00:00
MallocOverflowSecurityChecker.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
MallocSizeofChecker.cpp [analyzer]Turn on MallocSizeOfChecker by default; shorten the diagnostic 2012-05-07 23:30:29 +00:00
NSAutoreleasePoolChecker.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
NSErrorChecker.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00
NoReturnFunctionChecker.cpp Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
OSAtomicChecker.cpp Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that when we generate a new ExplodedNode 2012-04-06 22:10:18 +00:00
ObjCAtSyncChecker.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
ObjCContainersASTChecker.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
ObjCContainersChecker.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
ObjCSelfInitChecker.cpp [analyzer] SelfInit: Stop tracking self if it's assigned a value we 2012-05-08 21:19:21 +00:00
ObjCUnusedIVarsChecker.cpp Remove the ref/value inconsistency in filter_decl_iterator. 2012-04-30 02:36:29 +00:00
PointerArithChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
PointerSubChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
PthreadLockChecker.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
RetainCountChecker.cpp Teach the static analyzer that NSLog() and friends do not hold on to object references (thus extending their lifetime). 2012-05-08 00:12:09 +00:00
ReturnPointerRangeChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
ReturnUndefChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
StackAddrEscapeChecker.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
StreamChecker.cpp Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once. 2012-02-17 23:13:45 +00:00
TaintTesterChecker.cpp Basic: import OwningPtr<> into clang namespace 2012-02-05 02:12:40 +00:00
UndefBranchChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
UndefCapturedBlockVarChecker.cpp Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to 2012-03-10 09:33:50 +00:00
UndefResultChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
UndefinedArraySubscriptChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
UndefinedAssignmentChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
UnixAPIChecker.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
UnreachableCodeChecker.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00
VLASizeChecker.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
VirtualCallChecker.cpp Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. 2012-04-04 18:11:35 +00:00