message: Sanity check the byte_offset into a scalar.
  We are making some obscure mistake getting C++ types out of ObjC types when we
  fetch them from the ObjC runtime.  This should not bring lldb down.
  <rdar://problem/35898017>
diff: @@ -2789,6 +2789,11 @@ bool Scalar::ExtractBitfield(uint32_t bit_size, uint32_t bit_offset) {
  if (bit_size == 0)
  return true;
  + size_t this_bit_size = 8 * GetByteSize();
  +
  + if (bit_offset > this_bit_size)
  + return false;
  +
  switch (m_type) {
  case Scalar::e_void:
  case Scalar::e_float:
  @@ -2803,7 +2808,7 @@ bool Scalar::ExtractBitfield(uint32_t bit_size, uint32_t bit_offset) {
  case Scalar::e_sint256:
  m_integer = m_integer.ashr(bit_offset)
  .sextOrTrunc(bit_size)
  - .sextOrSelf(8 * GetByteSize());
  + .sextOrSelf(this_bit_size);
  return true;
  case Scalar::e_uint:
  @@ -2813,7 +2818,7 @@ bool Scalar::ExtractBitfield(uint32_t bit_size, uint32_t bit_offset) {
  case Scalar::e_uint256:
  m_integer = m_integer.lshr(bit_offset)
  .zextOrTrunc(bit_size)
  - .zextOrSelf(8 * GetByteSize());
  + .zextOrSelf(this_bit_size);
  return true;
  }
  return false;
  