Re-apply "[analyzer] Model trivial copy/move ctors with an aggregate bind."
authorJordan Rose <jordan_rose@apple.com>
Fri, 15 Feb 2013 00:32:15 +0000 (00:32 +0000)
committerJordan Rose <jordan_rose@apple.com>
Fri, 15 Feb 2013 00:32:15 +0000 (00:32 +0000)
commit88bb563c4350ce67ebc435de046fa395e74c4670
tree234adefe53031b8ee0b5fe8b6fbcbe414030f695
parent2516d7b0e87d1f74941c876e1d3bb3638ce8b204
Re-apply "[analyzer] Model trivial copy/move ctors with an aggregate bind."

...after a host of optimizations related to the use of LazyCompoundVals
(our implementation of aggregate binds).

Originally applied in r173951.
Reverted in r174069 because it was causing hangs.
Re-applied in r174212.
Reverted in r174265 because it was /still/ causing hangs.

If this needs to be reverted again it will be punted to far in the future.

llvm-svn: 175234
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
clang/test/Analysis/ctor-inlining.mm
clang/test/Analysis/temporaries.cpp