diff options
author | Jordan Rose <jordan_rose@apple.com> | 2012-08-13 23:46:01 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2012-08-13 23:46:01 +0000 |
commit | 8ec104b9fffb917924c495ce3dd25694e4e3087a (patch) | |
tree | 2e9904e6f3ef0b8266f7d26f8fa4e781d8a45fd6 /lib/StaticAnalyzer/Core/ProgramState.cpp | |
parent | 0a5629812019ce8bef86ade5425ac261bb544fd8 (diff) |
[analyzer] Be more careful when downcasting for devirtualization.
Virtual base regions are never layered, so simply stripping them off won't
necessarily get you to the correct casted class. Instead, what we want is
the same logic for evaluating dynamic_cast: strip off base regions if possible,
but add new base regions if necessary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161808 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/ProgramState.cpp')
0 files changed, 0 insertions, 0 deletions