diff options
| author | ziqingluo-90 <ziqing@udel.edu> | 2022-08-26 12:16:20 -0700 |
|---|---|---|
| committer | ziqingluo-90 <ziqing@udel.edu> | 2022-08-26 12:19:32 -0700 |
| commit | a5e354ec4da14cfc02b9847be314524e8deb93c6 (patch) | |
| tree | 05e96fb7945959312659f9a53e5b1278449fea0b /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h | |
| parent | b8be3dabde8add876937400bf2ffda9854219c74 (diff) | |
| download | llvm-a5e354ec4da14cfc02b9847be314524e8deb93c6.zip llvm-a5e354ec4da14cfc02b9847be314524e8deb93c6.tar.gz llvm-a5e354ec4da14cfc02b9847be314524e8deb93c6.tar.bz2 | |
[analyzer] Fixing a bug raising false positives of stack block object
leaking in ARC mode
When ARC (automatic reference count) is enabled, (objective-c) block
objects are automatically retained and released thus they do not leak.
Without ARC, they still can leak from an expiring stack frame like
other stack variables.
With this commit, the static analyzer now puts a block object in an
"unknown" region if ARC is enabled because it is up to the
implementation to choose whether to put the object on stack initially
(then move to heap when needed) or in heap directly under ARC.
Therefore, the `StackAddrEscapeChecker` has no need to know
specifically about ARC at all and it will not report errors on objects
in "unknown" regions.
Reviewed By: NoQ (Artem Dergachev)
Differential Revision: https://reviews.llvm.org/D131009
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions
