aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2013-02-21 23:57:17 +0000
committerJordan Rose <jordan_rose@apple.com>2013-02-21 23:57:17 +0000
commitfe03e40d837ed2291de7f667d760709358f50c1f (patch)
tree0e80ffb010902df74846b0ee07a711cc29e711af /clang/lib/CodeGen/CodeGenModule.cpp
parent676a48751d9acc6370ea30ae87062c3c4bd5e347 (diff)
downloadllvm-fe03e40d837ed2291de7f667d760709358f50c1f.zip
llvm-fe03e40d837ed2291de7f667d760709358f50c1f.tar.gz
llvm-fe03e40d837ed2291de7f667d760709358f50c1f.tar.bz2
[analyzer] Make sure a temporary object region matches its initial bindings.
When creating a temporary region (say, when a struct rvalue is used as the base of a member expr), make sure we account for any derived-to-base casts. We don't actually record these in the LazyCompoundVal that represents the rvalue, but we need to make sure that the temporary region we're creating (a) matches the bindings, and (b) matches its expression. Most of the time this will do exactly the same thing as before, but it fixes spurious "garbage value" warnings introduced in r175234 by the use of lazy bindings to model trivial copy constructors. <rdar://problem/13265460> llvm-svn: 175830
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions