diff --git a/libc/src/__support/UInt.h b/libc/src/__support/UInt.h --- a/libc/src/__support/UInt.h +++ b/libc/src/__support/UInt.h @@ -77,18 +77,24 @@ val[i] = words[i]; } - constexpr explicit operator uint64_t() const { return val[0]; } + constexpr explicit operator unsigned long long() const { + return static_cast(val[0]); + } + + constexpr explicit operator unsigned long() const { + return static_cast(val[0]); + } - constexpr explicit operator uint32_t() const { - return uint32_t(uint64_t(*this)); + constexpr explicit operator unsigned int() const { + return static_cast(val[0]); } - constexpr explicit operator uint16_t() const { - return uint16_t(uint64_t(*this)); + constexpr explicit operator unsigned short() const { + return static_cast(val[0]); } - constexpr explicit operator uint8_t() const { - return uint8_t(uint64_t(*this)); + constexpr explicit operator unsigned char() const { + return static_cast(val[0]); } constexpr explicit operator bool() const { return !is_zero(); }