diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index 506225f..143ded9 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -2189,7 +2189,7 @@
                      bool Signed, bool formatAsCLiteral) const {
   assert((Radix == 10 || Radix == 8 || Radix == 16 || Radix == 2 || 
           Radix == 36) &&
-         "Radix should be 2, 8, 10, or 16!");
+         "Radix should be 2, 8, 10, 16, or 36!");
 
   const char *Prefix = "";
   if (formatAsCLiteral) {
@@ -2202,9 +2202,13 @@
       case 8:
         Prefix = "0";
         break;
+      case 10:
+        break; // No prefix
       case 16:
         Prefix = "0x";
         break;
+      default:
+        llvm_unreachable("Invalid radix!");
     }
   }
 
diff --git a/unittests/ADT/APIntTest.cpp b/unittests/ADT/APIntTest.cpp
index 490811d..2195007 100644
--- a/unittests/ADT/APIntTest.cpp
+++ b/unittests/ADT/APIntTest.cpp
@@ -354,7 +354,7 @@
   APInt(8, 0).toString(S, 16, true, true);
   EXPECT_EQ(S.str().str(), "0x0");
   S.clear();
-  APInt(8, 0).toString(S, 36, true, true);
+  APInt(8, 0).toString(S, 36, true, false);
   EXPECT_EQ(S.str().str(), "0");
   S.clear();
 
@@ -371,7 +371,7 @@
   APInt(8, 255, isSigned).toString(S, 16, isSigned, true);
   EXPECT_EQ(S.str().str(), "0xFF");
   S.clear();
-  APInt(8, 255, isSigned).toString(S, 36, isSigned, true);
+  APInt(8, 255, isSigned).toString(S, 36, isSigned, false);
   EXPECT_EQ(S.str().str(), "73");
   S.clear();
 
@@ -388,7 +388,7 @@
   APInt(8, 255, isSigned).toString(S, 16, isSigned, true);
   EXPECT_EQ(S.str().str(), "-0x1");
   S.clear();
-  APInt(8, 255, isSigned).toString(S, 36, isSigned, true);
+  APInt(8, 255, isSigned).toString(S, 36, isSigned, false);
   EXPECT_EQ(S.str().str(), "-1");
   S.clear();
 }
