]> granicus.if.org Git - clang/commit
[CFG] Provide construction contexts for temporaries in conditional operators.
authorArtem Dergachev <artem.dergachev@gmail.com>
Sat, 24 Feb 2018 03:10:15 +0000 (03:10 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Sat, 24 Feb 2018 03:10:15 +0000 (03:10 +0000)
commit50bb558a1f15f43d3ce9637f373516e3729344b4
tree00ea7c0cae679fcd66dc753521bf5ca355de7799
parent6a41ac410924b7e80f183f82500f3bee447abab0
[CFG] Provide construction contexts for temporaries in conditional operators.

When a lifetime-extended temporary is on a branch of a conditional operator,
materialization of such temporary occurs after the condition is resolved.

This change allows us to understand, by including the MaterializeTemporaryExpr
in the construction context, the target for temporary materialization in such
cases.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326019 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/CFG.cpp
test/Analysis/cfg-rich-constructors.cpp
test/Analysis/temp-obj-dtors-cfg-output.cpp