https://github.com/labath commented:
I'm sorry, I put this off because it wasn't clear how to respond immediately -- and then it dropped off my radar. I have a bunch of comments, but overall, I think this could work. My main objection is to the use of the APInt class. If you want to use it (which I'm fine with, but I also think a plain (u)int64_t would work for this purpose as well), then I think you should use it properly: using the operations defined on the class itself (e.g. `slt`/`ult`) -- instead of converting it to an plain integer first chance you get. As it stands now your parser will happily accept an incredibly long integer, but then you'll assert when `getZExtValue` cannot convert that to an uint64_t. There's also some confusion about whether the value is signed or unsigned. You can't just switch between `getZExtValue` and `getSExtValue` and expect the result to make sense (hint: `getSExtValue` of "0x80" parsed into an APInt is -128) https://github.com/llvm/llvm-project/pull/138551 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits