diff options
author | Devin Coughlin <dcoughlin@apple.com> | 2015-11-20 01:53:44 +0000 |
---|---|---|
committer | Devin Coughlin <dcoughlin@apple.com> | 2015-11-20 01:53:44 +0000 |
commit | c7315b3ebfaca4e0ea234a8dd3e4194c44c92cbf (patch) | |
tree | dd2a41276e93cf97dc2b88fbd9607822e92b83d4 /lldb/packages/Python/lldbsuite/test | |
parent | c85f4ced4d163442019d170282b751852b2e6500 (diff) | |
download | bcm5719-llvm-c7315b3ebfaca4e0ea234a8dd3e4194c44c92cbf.tar.gz bcm5719-llvm-c7315b3ebfaca4e0ea234a8dd3e4194c44c92cbf.zip |
[analyzer] DeadStoresChecker: Treat locals captured by reference in C++ lambdas as escaped.
The analyzer currently reports dead store false positives when a local variable
is captured by reference in a C++ lambda.
For example:
int local = 0; auto lambda = [&local]() {
local++;
};
local = 7; // False Positive: Value stored to 'local' is never read
lambda();
In this case, the assignment setting `local` to 7 is not a dead store because
the called lambda will later read that assigned value.
This commit silences this source of false positives by treating locals captured
by reference in C++ lambdas as escaped, similarly to how the DeadStoresChecker
deals with locals whose address is taken.
rdar://problem/22165179
llvm-svn: 253630
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions