]> granicus.if.org Git - clang/commit
[analyzer] Re-enable C++17-specific variable and member construction contexts.
authorArtem Dergachev <artem.dergachev@gmail.com>
Thu, 14 Jun 2018 01:54:21 +0000 (01:54 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Thu, 14 Jun 2018 01:54:21 +0000 (01:54 +0000)
commit1c7d3ca00f3064e63d5ee9c0ad45d7a80b2dd64c
tree7468f2a73cfa0bd1efa2d29cfac37c88f7394ffa
parent0d161356383f0b827c7b2b5a7ac8f051e335b38a
[analyzer] Re-enable C++17-specific variable and member construction contexts.

Not contexts themselves, but rather support for them in the analyzer.

Such construction contexts appear when C++17 mandatory copy elision occurs
during initialization, and presence of a destructor causes a
CXXBindTemporaryExpr to appear in the AST.

Similar C++17-specific constructors for return values are still to be supported.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@334683 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
test/Analysis/cxx17-mandatory-elision.cpp