diff options
author | Bryan Chan <bryan.chan@ca.ibm.com> | 2016-05-19 13:51:20 +0000 |
---|---|---|
committer | Bryan Chan <bryan.chan@ca.ibm.com> | 2016-05-19 13:51:20 +0000 |
commit | 01319e93abe3a4d3e722de4e849762ea54d12d70 (patch) | |
tree | 1e6681400f5fead23cfc4270bc2b994a055a889d /llvm/lib | |
parent | cda1bd50488d0f0ded3e708c6c669cb259050fb3 (diff) | |
download | bcm5719-llvm-01319e93abe3a4d3e722de4e849762ea54d12d70.tar.gz bcm5719-llvm-01319e93abe3a4d3e722de4e849762ea54d12d70.zip |
Avoid an assertion failure when a bit field is extracted from a value of the same size.
Summary: One of the cases handled by ValueObjectChild::UpdateValue() uses the entire width of the parent's scalar value as the size of the child, and extracts the child by calling Scalar::ExtractBitfield(). This seems valid but APInt::trunc(), APInt::sext() and APInt::zext() assert that the bit field must not have the same size as the parent scalar. Replacing those calls with sextOrTrunc(), zextOrTrunc(), sextOrSelf() and zextOrSelf() fixes the assertion failures.
Reviewers: uweigand, labath
Subscribers: labath, lldb-commits
Differential Revision: http://reviews.llvm.org/D20355
llvm-svn: 270062
Diffstat (limited to 'llvm/lib')
0 files changed, 0 insertions, 0 deletions