diff options
author | Jordan Rose <jordan_rose@apple.com> | 2012-09-12 21:48:17 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2012-09-12 21:48:17 +0000 |
commit | d44977ef647818bc9bb2f92d14f315def4c96a04 (patch) | |
tree | 33c74594815d37f0c8a891f70b28a6b740839cee /clang/lib/CodeGen/CGDeclCXX.cpp | |
parent | 99c6c2b4e241429647c67cb8a67250d4b9234c69 (diff) | |
download | bcm5719-llvm-d44977ef647818bc9bb2f92d14f315def4c96a04.tar.gz bcm5719-llvm-d44977ef647818bc9bb2f92d14f315def4c96a04.zip |
[analyzer] Handle when the dynamic type is worse than the static type.
Currently we don't update the dynamic type of a C++ object when it is
cast. This can cause the situation above, where the static type of the
region is now known to be a subclass of the dynamic type.
Once we start updating DynamicTypeInfo in response to the various kinds
of casts in C++, we can re-add this assert to make sure we don't miss
any cases. This work is tracked by <rdar://problem/12287087>.
In -Asserts builds, we will simply not return any runtime definition
when our DynamicTypeInfo is known to be incorrect like this.
llvm-svn: 163745
Diffstat (limited to 'clang/lib/CodeGen/CGDeclCXX.cpp')
0 files changed, 0 insertions, 0 deletions