hanchenye-llvm-project/clang/lib/StaticAnalyzer/Checkers
Anna Zaks 486a0ff4b7 [analyzer] Look for allocation site in the parent frames as well as the current one.
Instead of handling edge cases (mostly involving blocks), where we have difficulty finding
an allocation statement, allow the allocation site to be in a parent node.

Previously we assumed that the allocation site can always be found in the same frame
as allocation, but there are scenarios in which an element is leaked in a child
frame but is allocated in the parent.

llvm-svn: 228247
2015-02-05 01:02:53 +00:00
..
AllocationDiagnostics.cpp
AllocationDiagnostics.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
AnalyzerStatsChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
ArrayBoundChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
ArrayBoundCheckerV2.cpp [analyzer] Refactor and cleanup IsCompleteType 2014-10-03 21:49:03 +00:00
BasicObjCFoundationChecks.cpp [analyzer] Check for NULL passed to CFAutorelease. 2014-06-21 23:50:40 +00:00
BoolAssignmentChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
BuiltinFunctionChecker.cpp Teach the analyzer that __builtin_assume_aligned returns its first argument. 2014-09-09 21:42:16 +00:00
CMakeLists.txt [analyzer] Check for code testing a variable for 0 after using it as a denominator. 2014-07-10 16:10:52 +00:00
CStringChecker.cpp [analyzer] Make CStringChecker correctly calculate return value of mempcpy 2014-10-03 21:48:54 +00:00
CStringSyntaxChecker.cpp Expose the name of the checker producing each diagnostic message. 2014-02-11 21:49:21 +00:00
CallAndMessageChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
CastSizeChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
CastToStructChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
CheckObjCDealloc.cpp [analyzer] Remove check covered by -Wobjc-missing-super-calls. 2014-08-22 16:57:33 +00:00
CheckObjCInstMethSignature.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
CheckSecuritySyntaxOnly.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
CheckSizeofPointer.cpp Clean up language and grammar. 2014-05-20 17:10:39 +00:00
CheckerDocumentation.cpp Fix comment type pointed out by Kim Gräsman. 2013-05-25 02:22:10 +00:00
Checkers.td [analyzer] Move the NewDeleteLeaks checker from CplusplusAlpha to Cplusplus package. 2014-10-21 12:41:36 +00:00
ChrootChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
ClangCheckers.cpp
ClangSACheckers.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
DeadStoresChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
DebugCheckers.cpp [C++11] Revert uses of lambdas with array_pod_sort. 2014-03-07 21:51:58 +00:00
DereferenceChecker.cpp Track IntrusiveRefCntPtr::get() changes from LLVM r212366 2014-07-05 03:08:06 +00:00
DirectIvarAssignment.cpp [C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops. 2014-03-13 19:50:17 +00:00
DivZeroChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
DynamicTypePropagation.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
ExprInspectionChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
FixedAddressChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
GenericTaintChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
IdenticalExprChecker.cpp [analyzer] IdenticalExpr: don't try to compare integer literals with different widths. 2014-08-20 16:51:26 +00:00
InterCheckerAPI.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
IvarInvalidationChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
LLVMConventionsChecker.cpp Move the logic for testing for namespace std into one location. This check can 2014-05-28 02:16:01 +00:00
MacOSKeychainAPIChecker.cpp [analyzer] Look for allocation site in the parent frames as well as the current one. 2015-02-05 01:02:53 +00:00
MacOSXAPIChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
Makefile
MallocChecker.cpp [analyzer] Look for allocation site in the parent frames as well as the current one. 2015-02-05 01:02:53 +00:00
MallocOverflowSecurityChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
MallocSizeofChecker.cpp [analyzer] Tweak MallocSizeOfChecker to not warn when using sizeof(void*) to allocate a bunch of any pointer type. 2014-10-19 07:30:55 +00:00
NSAutoreleasePoolChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
NSErrorChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
NoReturnFunctionChecker.cpp [analyzer] When checking Foundation method calls, match the selectors exactly. 2014-04-09 01:39:22 +00:00
NonNullParamChecker.cpp [analyzer] Check all 'nonnull' attributes, not just the first one. 2014-10-13 19:38:02 +00:00
ObjCAtSyncChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
ObjCContainersASTChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
ObjCContainersChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
ObjCMissingSuperCallChecker.cpp [C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops. 2014-03-13 19:50:17 +00:00
ObjCSelfInitChecker.cpp [analyzer] Use a lazily-initialized BugType in ObjCSelfInitChecker. 2014-05-07 03:30:04 +00:00
ObjCUnusedIVarsChecker.cpp [C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops. 2014-03-14 15:02:45 +00:00
PointerArithChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
PointerSubChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
PthreadLockChecker.cpp [analyzer] Lock checker: Allow pthread_mutex_init to reinitialize a destroyed lock. 2014-04-01 03:40:53 +00:00
RetainCountChecker.cpp [analyzer] Look for allocation site in the parent frames as well as the current one. 2015-02-05 01:02:53 +00:00
ReturnPointerRangeChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
ReturnUndefChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
SelectorExtras.h Use the new LLVM_END_WITH_NULL name 2014-11-04 01:13:43 +00:00
SimpleStreamChecker.cpp Avoid some unnecessary SmallVector copies. 2014-09-11 14:13:49 +00:00
StackAddrEscapeChecker.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
StreamChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
TaintTesterChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
TestAfterDivZeroChecker.cpp unique_ptrify BugReporter::visitors 2014-09-04 23:54:33 +00:00
TraversalChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
UndefBranchChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
UndefCapturedBlockVarChecker.cpp unique_ptrify BugReporter::visitors 2014-09-04 23:54:33 +00:00
UndefResultChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
UndefinedArraySubscriptChecker.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
UndefinedAssignmentChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
UnixAPIChecker.cpp [analyzer] UnixAPI: Check that the third argument to open(2) (if present) is an integer. 2014-08-20 16:58:09 +00:00
UnreachableCodeChecker.cpp [C++11] Use 'nullptr'. StaticAnalyzer edition. 2014-05-27 02:45:47 +00:00
VLASizeChecker.cpp [analyzer] Check for negative values used as the size of a C variable-length array. 2014-08-12 16:44:22 +00:00
VirtualCallChecker.cpp [analyzer] Don't warn on virtual calls in ctors to final methods. 2014-08-21 10:25:03 +00:00