]> granicus.if.org Git - clang/commit
After inlining the CXXConstructExpr, bind the temporary object region to it.
authorZhongxing Xu <xuzhongxing@gmail.com>
Wed, 22 Dec 2010 07:20:27 +0000 (07:20 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Wed, 22 Dec 2010 07:20:27 +0000 (07:20 +0000)
commit05e539175d9bac678fca8e77665e88b685729850
tree3901c7460888e160f6520618892e9de02e6f69eb
parenta0e27f00158c9306d53b0003b94182e415380ea9
After inlining the CXXConstructExpr, bind the temporary object region to it.
This change is necessary when the variable is a const reference and we need
the l-value of the construct expr.  After that, when binding the variable,
recover the lazy compound value when the variable is not a reference.

In Environment, use the value of a no-op cast expression when it has one.
Otherwise, blast-through it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122388 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Checker/Environment.cpp
lib/Checker/GRExprEngine.cpp
test/Analysis/method-call.cpp