diff options
-rw-r--r-- | include/llvm/ADT/StringExtras.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h index e66fc69345..375b655b4d 100644 --- a/include/llvm/ADT/StringExtras.h +++ b/include/llvm/ADT/StringExtras.h @@ -55,7 +55,11 @@ static inline std::string utostr(uint64_t X, bool isNeg = false) { return std::string(BufPtr); } -static inline std::string utostr(uint32_t X, bool isNeg = false) { +static inline std::string utostr(unsigned long X, bool isNeg = false) { + return utostr(static_cast<uint64_t>(X), isNeg); +} + +static inline std::string utostr(unsigned X, bool isNeg = false) { char Buffer[20]; char *BufPtr = Buffer+19; @@ -79,7 +83,14 @@ static inline std::string itostr(int64_t X) { return utostr(static_cast<uint64_t>(X)); } -static inline std::string itostr(int32_t X) { +static inline std::string itostr(long X) { + if (X < 0) + return utostr(static_cast<uint64_t>(-X), true); + else + return utostr(static_cast<uint64_t>(X)); +} + +static inline std::string itostr(int X) { if (X < 0) return utostr(static_cast<unsigned>(-X), true); else |