llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: Shivam Gupta (xgupta) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/95678.diff 1 Files Affected: - (modified) lldb/source/Utility/Scalar.cpp (+15-16) ``````````diff diff --git a/lldb/source/Utility/Scalar.cpp b/lldb/source/Utility/Scalar.cpp index c680101aa9efa..6e2f1ca4c1613 100644 --- a/lldb/source/Utility/Scalar.cpp +++ b/lldb/source/Utility/Scalar.cpp @@ -745,26 +745,25 @@ Status Scalar::SetValueFromData(const DataExtractor &data, bool Scalar::SignExtend(uint32_t sign_bit_pos) { const uint32_t max_bit_pos = GetByteSize() * 8; + assert(sign_bit_pos < max_bit_pos); - if (sign_bit_pos < max_bit_pos) { - switch (m_type) { - case Scalar::e_void: - case Scalar::e_float: - return false; + switch (m_type) { + case Scalar::e_void: + case Scalar::e_float: + return false; - case Scalar::e_int: - if (sign_bit_pos < (max_bit_pos - 1)) { - llvm::APInt sign_bit = llvm::APInt::getSignMask(sign_bit_pos + 1); - llvm::APInt bitwize_and = m_integer & sign_bit; - if (bitwize_and.getBoolValue()) { - llvm::APInt mask = - ~(sign_bit) + llvm::APInt(m_integer.getBitWidth(), 1); - m_integer |= APSInt(std::move(mask), m_integer.isUnsigned()); - } - return true; + case Scalar::e_int: + if (sign_bit_pos < (max_bit_pos - 1)) { + llvm::APInt sign_bit = llvm::APInt::getSignMask(sign_bit_pos + 1); + llvm::APInt bitwize_and = m_integer & sign_bit; + if (bitwize_and.getBoolValue()) { + llvm::APInt mask = + ~(sign_bit) + llvm::APInt(m_integer.getBitWidth(), 1); + m_integer |= APSInt(std::move(mask), m_integer.isUnsigned()); } - break; + return true; } + break; } return false; } `````````` </details> https://github.com/llvm/llvm-project/pull/95678 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits