]> granicus.if.org Git - clang/commit
[analyzer] Split new/delete checker into use-after-free and leaks parts.
authorJordan Rose <jordan_rose@apple.com>
Fri, 5 Apr 2013 17:55:00 +0000 (17:55 +0000)
committerJordan Rose <jordan_rose@apple.com>
Fri, 5 Apr 2013 17:55:00 +0000 (17:55 +0000)
commite85deb356f5d2d2172b7ef70314bc9cfc742a936
treeb89a9efd9ae49605b48ad6cdd6b406fdde83ba5d
parent6b119d63f5036344acd4e00a6ff2b3c72f26966f
[analyzer] Split new/delete checker into use-after-free and leaks parts.

This splits the leak-checking part of alpha.cplusplus.NewDelete into a
separate user-level checker, alpha.cplusplus.NewDeleteLeaks. All the
difficult false positives we've seen with the new/delete checker have been
spurious leak warnings; the use-after-free warnings and mismatched
deallocator warnings, while rare, have always been valid.

<rdar://problem/6194569>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178890 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/MallocChecker.cpp
test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
test/Analysis/Malloc+NewDelete_intersections.cpp
test/Analysis/NewDelete+MismatchedDeallocator_intersections.cpp
test/Analysis/NewDelete-checker-test.cpp
test/Analysis/NewDelete-custom.cpp
test/Analysis/NewDelete-intersections.mm
test/Analysis/NewDelete-variadic.cpp