summaryrefslogtreecommitdiffstats
path: root/llvm/include/Support/StringExtras.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/Support/StringExtras.h')
-rw-r--r--llvm/include/Support/StringExtras.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/include/Support/StringExtras.h b/llvm/include/Support/StringExtras.h
index 46e2c5aaf0b..529d86caa20 100644
--- a/llvm/include/Support/StringExtras.h
+++ b/llvm/include/Support/StringExtras.h
@@ -11,6 +11,24 @@
#include <string>
#include <stdio.h>
+static inline std::string utohexstr(uint64_t X) {
+ char Buffer[40];
+ char *BufPtr = Buffer+39;
+
+ *BufPtr = 0; // Null terminate buffer...
+ if (X == 0) *--BufPtr = '0'; // Handle special case...
+
+ while (X) {
+ unsigned Mod = X & 15;
+ if (Mod < 10)
+ *--BufPtr = '0' + Mod;
+ else
+ *--BufPtr = 'A' + Mod-10;
+ X >>= 4;
+ }
+ return std::string(BufPtr);
+}
+
static inline std::string utostr(uint64_t X, bool isNeg = false) {
char Buffer[40];
char *BufPtr = Buffer+39;
OpenPOWER on IntegriCloud