[PATCH] D43497: [analyzer] Introduce correct lifetime extension behavior in simple cases.

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 21 12:52:22 PST 2018


NoQ updated this revision to Diff 135312.
NoQ marked 4 inline comments as done.
NoQ added a comment.

- Address comments.
- Add a FIXME test case that demonstrates that automatic destructors don't fire after lifetime extension through a POD field, even though lifetime extension itself seems to work correctly. I should probably also add a test case for the situation where sub-object adjustments actually kick in (here they suddenly don't), because even though they are correctly handled in `createTemporaryRegionIfNeeded`, they aren't implemented in `findConstructionContexts`.


https://reviews.llvm.org/D43497

Files:
  include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  lib/StaticAnalyzer/Core/ExprEngine.cpp
  lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  test/Analysis/lifetime-extension.cpp
  test/Analysis/temporaries.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43497.135312.patch
Type: text/x-patch
Size: 20095 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180221/f5ef9598/attachment-0001.bin>


More information about the cfe-commits mailing list