llvm-project/clang/test/Analysis/Inputs
Devin Coughlin 3fc67e47e5 [analyzer] Don't treat calls to system headers as escaping in CheckObjCDealloc.
This prevents false negatives when a -dealloc method, for example, removes itself as
as an observer with [[NSNotificationCenter defaultCenter] removeObserver:self]. It is
unlikely that passing 'self' to a system header method will release 'self''s instance
variables, so this is unlikely to produce false positives.

A challenge here is that while CheckObjCDealloc no longer treats these calls as
escaping, the rest of the analyzer still does. In particular, this means that loads
from the same instance variable before and after a call to a system header will
result in different symbols being loaded by the region store. To account for this,
the checker now treats different ivar symbols with the same instance and ivar decl as
the same for the purpose of release checking and more eagerly removes a release
requirement when an instance variable is assumed to be nil. This was not needed before
because when an ivar escaped its release requirement was always removed -- now the
requirement is not removed for calls to system headers.

llvm-svn: 262261
2016-02-29 21:44:08 +00:00
..
Models Add support for the static analyzer to synthesize function implementations from external model files. 2014-08-27 15:14:15 +00:00
qt-simulator.h [analyzer] Fix false warning about memory leak for QApplication::postEvent 2016-01-06 00:32:56 +00:00
system-header-simulator-cxx.h [analyzer] Invalidate destination of std::copy() and std::copy_backward(). 2016-02-07 16:55:44 +00:00
system-header-simulator-for-malloc.h
system-header-simulator-for-objc-dealloc.h [analyzer] Don't treat calls to system headers as escaping in CheckObjCDealloc. 2016-02-29 21:44:08 +00:00
system-header-simulator-for-pthread-lock.h [analyzer] Fix pthread lock tests so that the API comes from a system header. 2014-09-10 16:17:42 +00:00
system-header-simulator-for-simple-stream.h
system-header-simulator-objc.h
system-header-simulator.h [analyzer] Add VforkChecker to find unsafe code in vforked process. 2015-11-06 11:16:31 +00:00