[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)
commit922455fe62b55dd20d6e10f1c226c96944c1adbf
tree14224a81b0cafa2d3d16e6ff6af1da1b5adbe04f
parent40d3b32e1275458c1b5b0afaec8e42b80412587a
[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

llvm-svn: 328255
clang/include/clang/Analysis/CFG.h
clang/include/clang/Analysis/ConstructionContext.h
clang/lib/Analysis/CFG.cpp
clang/lib/Analysis/ConstructionContext.cpp
clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
clang/test/Analysis/cfg-rich-constructors.cpp