diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2018-12-14 20:47:58 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2018-12-14 20:47:58 +0000 |
commit | 12f7c2baccdfb7da56d018f34f29a954968ead6d (patch) | |
tree | c84fbe5873ea8630a5679902f710d2f0f03e0c9f /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h | |
parent | 3e5d847fa02f63d0026a6771be613e464530bb6f (diff) | |
download | llvm-12f7c2baccdfb7da56d018f34f29a954968ead6d.zip llvm-12f7c2baccdfb7da56d018f34f29a954968ead6d.tar.gz llvm-12f7c2baccdfb7da56d018f34f29a954968ead6d.tar.bz2 |
[analyzer] MoveChecker: Improve invalidation policies.
If a moved-from object is passed into a conservatively evaluated function
by pointer or by reference, we assume that the function may reset its state.
Make sure it doesn't apply to const pointers and const references. Add a test
that demonstrates that it does apply to rvalue references.
Additionally, make sure that the object is invalidated when its contents change
for reasons other than invalidation caused by evaluating a call conservatively.
In particular, when the object's fields are manipulated directly, we should
assume that some sort of reset may be happening.
Differential Revision: https://reviews.llvm.org/D55289
llvm-svn: 349190
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h')
0 files changed, 0 insertions, 0 deletions