diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2018-06-28 00:30:18 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2018-06-28 00:30:18 +0000 |
commit | 9a209ad1d88e73be3169a2373b4dbeb093ef0765 (patch) | |
tree | ef3a9dc430e52d0aa51b17f5db28f145a9515eb4 /clang/lib/StaticAnalyzer/Core/ProgramState.cpp | |
parent | 3a670eacf6ea1f33d5a2e2c2d70298545f5233b7 (diff) | |
download | bcm5719-llvm-9a209ad1d88e73be3169a2373b4dbeb093ef0765.tar.gz bcm5719-llvm-9a209ad1d88e73be3169a2373b4dbeb093ef0765.zip |
[analyzer] Add support for pre-C++17 copy elision.
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
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ProgramState.cpp')
0 files changed, 0 insertions, 0 deletions