summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Add support for pre-C++17 copy elision.Artem Dergachev2018-06-281-7/+2
| | | | | | | | | | | | | | | | r335795 adds copy elision information to CFG. This commit allows static analyzer to elide elidable copy constructors by constructing the objects that were previously subject to elidable copy directly in the target region of the copy. The chain of elided constructors may potentially be indefinitely long. This only happens when the object is being returned from a function which in turn is returned from another function, etc. NRVO is not supported yet. Differential Revision: https://reviews.llvm.org/D47671 llvm-svn: 335800
* [analyzer] Enable cfg-temporary-dtors by default.Artem Dergachev2018-03-011-1/+1
| | | | | | | | | | | | Don't enable c++-temp-dtor-inlining by default yet, due to this reference counting pointe problem. Otherwise the new mode seems stable and allows us to incrementally fix C++ problems in much less hacky ways. Differential Revision: https://reviews.llvm.org/D43804 llvm-svn: 326461
* [analyzer] Implement path notes for temporary destructors.Artem Dergachev2018-02-151-0/+64
Temporary destructors fire at the end of the full-expression. It is reasonable to attach the path note for entering/leaving the temporary destructor to its CXXBindTemporaryExpr. This would not affect lifetime-extended temporaries with their automatic destructors which aren't temporary destructors. The path note may be confusing in the case of destructors after elidable copy constructors. Differential Revision: https://reviews.llvm.org/D43144 llvm-svn: 325284
OpenPOWER on IntegriCloud