mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
Speculative fix for build failures due to consumeInteger.
A recent patch added support for consumeInteger() and made getAsInteger delegate to this function. A few buildbots are failing as a result with an assertion failure. On a hunch, I tested what happens if I call getAsInteger() on an empty string, and sure enough it crashes the same way that the buildbots are crashing. I confirmed that getAsInteger() on an empty string did not crash before my patch, so I suspect this to be the cause. I also added a unit test for the empty string. llvm-svn: 282170
This commit is contained in:
parent
0a87104c7e
commit
986cc88263
@ -351,6 +351,9 @@ size_t StringRef::count(StringRef Str) const {
|
||||
}
|
||||
|
||||
static unsigned GetAutoSenseRadix(StringRef &Str) {
|
||||
if (Str.empty())
|
||||
return 10;
|
||||
|
||||
if (Str.startswith("0x") || Str.startswith("0X")) {
|
||||
Str = Str.substr(2);
|
||||
return 16;
|
||||
|
@ -571,7 +571,8 @@ TEST(StringRefTest, getAsInteger) {
|
||||
|
||||
|
||||
static const char* BadStrings[] = {
|
||||
"18446744073709551617" // value just over max
|
||||
"" // empty string
|
||||
, "18446744073709551617" // value just over max
|
||||
, "123456789012345678901" // value way too large
|
||||
, "4t23v" // illegal decimal characters
|
||||
, "0x123W56" // illegal hex characters
|
||||
|
Loading…
Reference in New Issue
Block a user