aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-03-16 20:05:52 +0000
committerBill Wendling <isanbard@gmail.com>2008-03-16 20:05:52 +0000
commit1dde5865787e8e0ae50bfd0fac4ddbc2fc7968ce (patch)
tree58fd9780f71662d892db0593eed97bbc8964e84c
parent25e87cc6a5e6c1651205ce2619f5d0f30dacf799 (diff)
downloadexternal_llvm-1dde5865787e8e0ae50bfd0fac4ddbc2fc7968ce.zip
external_llvm-1dde5865787e8e0ae50bfd0fac4ddbc2fc7968ce.tar.gz
external_llvm-1dde5865787e8e0ae50bfd0fac4ddbc2fc7968ce.tar.bz2
Add assert for non-hexadecimal radixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48421 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Support/APInt.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index 622d0f3..a853b92 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -1940,6 +1940,10 @@ void APInt::fromString(uint32_t numbits, const char *str, uint32_t slen,
assert(0 && "huh? we shouldn't get here");
} else if (isdigit(cdigit)) {
digit = cdigit - '0';
+ assert((radix == 10 ||
+ (radix == 8 && digit != 8 && digit != 9) ||
+ (radix == 2 && (digit == 0 || digit == 1))) &&
+ "Invalid digit in string for given radix");
} else {
assert(0 && "Invalid character in digit string");
}