]> granicus.if.org Git - clang/commit
[CFG] [analyzer] Add stubs for constructor and message argument constructors.
authorArtem Dergachev <artem.dergachev@gmail.com>
Tue, 31 Jul 2018 19:39:37 +0000 (19:39 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Tue, 31 Jul 2018 19:39:37 +0000 (19:39 +0000)
commitcfd925989dd73b13810fba243f7819dbec58940a
tree8785ea22d29796085b70db41230f3e19c2470f20
parent4ffae954f7e18a5700c993ab9c7a98daacf05e8d
[CFG] [analyzer] Add stubs for constructor and message argument constructors.

CFG now correctly identifies construction context for temporaries constructed
for the purpose of passing into a function as an argument.

Such context is still not fully implemented because the information it provides
is not rich enough: it doens't contain information about argument index.
It will be addresssed later.

This patch is an extension of r330377 to C++ construct-expressions and
Objective-C message expressions which aren't call-expressions but require
similar handling. C++ new-expressions with placement arguments still remain to
be handled.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338425 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/CFG.cpp
lib/Analysis/ConstructionContext.cpp
test/Analysis/cfg-rich-constructors.cpp
test/Analysis/cfg-rich-constructors.mm [new file with mode: 0644]
test/Analysis/temporaries.cpp
test/Analysis/temporaries.mm [new file with mode: 0644]