[PATCH] D55289: [analyzer] MoveChecker Pt.5: Improve invalidation policies.
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 4 12:12:44 PST 2018
NoQ created this revision.
NoQ added reviewers: dcoughlin, xazax.hun, a_sidorin, george.karpenkov, szepet, rnkovacs, Szelethus.
Herald added subscribers: cfe-commits, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, baloghadamsoftware.
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.
Repository:
rC Clang
https://reviews.llvm.org/D55289
Files:
lib/StaticAnalyzer/Checkers/MoveChecker.cpp
test/Analysis/use-after-move.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55289.176684.patch
Type: text/x-patch
Size: 3985 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181204/e7aaa934/attachment-0001.bin>
More information about the cfe-commits
mailing list