jwnhy added a comment.

It seems this is more complicated than I originally thought.
My fix is also flawed when it comes the following program.
Let `overhang_bytes = 0` will overflow the otherside by 1 bit and thus output a 
wrong value.

But changing everything to signed does not resolve this issue as the following 
line is a concern.

  m_value.GetScalar() += m_byte_offset; // ValueObjectChild.cpp:181



  #pragma pack(1)
  struct  {
    signed long long f0 : 1;
    unsigned f5 : 32;
  } g_96 = {1, 0xffffffff};
  int main() {return 0;}


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146919/new/

https://reviews.llvm.org/D146919

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to