]> granicus.if.org Git - clang/commit
[CFG] [analyzer] Add C++17-specific ctor-initializer construction contexts.
authorArtem Dergachev <artem.dergachev@gmail.com>
Thu, 22 Mar 2018 22:02:38 +0000 (22:02 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Thu, 22 Mar 2018 22:02:38 +0000 (22:02 +0000)
commit59b2b9fc2d5fc054901c4d0836507e8c250ad9e3
tree0fde1142124e0f468fd9da7894ef349b48518aa8
parent71e8b54df46051fb229e00d6e89b6ae1323c8261
[CFG] [analyzer] Add C++17-specific ctor-initializer construction contexts.

CXXCtorInitializer-based constructors are also affected by the C++17 mandatory
copy elision, like variable constructors and return value constructors.
Extend r328248 to support those.

Differential Revision: https://reviews.llvm.org/D44763

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@328255 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Analysis/CFG.h
include/clang/Analysis/ConstructionContext.h
lib/Analysis/CFG.cpp
lib/Analysis/ConstructionContext.cpp
lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
test/Analysis/cfg-rich-constructors.cpp