mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-11-15 22:08:10 +00:00
Summary: An `llvm::APInt` is always treated as a signed value by `operator<<`; check [1]. This resulted in printing incorrect values for tokens that have their MSB set to 1. For example, a value 9 would be printed as -7 since its `APInt` object would be 4-bits wide. However, integer literals are always tokenized without the sign character so it is safe to treat the values as unsigned for printing pruposes. [1] https://llvm.org/doxygen/APInt_8h_source.html Co-authored-by: ergawy <kareem.ergawy@guardsquare.com>