commit | 8ec104b9fffb917924c495ce3dd25694e4e3087a | [log] [tgz] |
---|---|---|
author | Jordan Rose <jordan_rose@apple.com> | Mon Aug 13 23:46:01 2012 +0000 |
committer | Jordan Rose <jordan_rose@apple.com> | Mon Aug 13 23:46:01 2012 +0000 |
tree | 2e9904e6f3ef0b8266f7d26f8fa4e781d8a45fd6 | |
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