aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/ADT/StringExtras.h15
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