diff options
author | Jordan Rose <jordan_rose@apple.com> | 2013-02-26 01:21:27 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2013-02-26 01:21:27 +0000 |
commit | 861a174018bb7c68076a4d2df241186fb0331d70 (patch) | |
tree | c174a24040f9f1838dc8778c82793fac0e8b5a41 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | c948709cda56a76cea07357db29c288235baa0ba (diff) | |
download | bcm5719-llvm-861a174018bb7c68076a4d2df241186fb0331d70.tar.gz bcm5719-llvm-861a174018bb7c68076a4d2df241186fb0331d70.zip |
[analyzer] Don't look through casts when creating pointer temporaries.
Normally, we need to look through derived-to-base casts when creating
temporary object regions (added in r175854). However, if the temporary
is a pointer (rather than a struct/class instance), we need to /preserve/
the base casts that have been applied.
This also ensures that we really do create a new temporary region when
we need to: MaterializeTemporaryExpr and lvalue CXXDefaultArgExprs.
Fixes PR15342, although the test case doesn't include the crash because
I couldn't isolate it.
llvm-svn: 176069
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions