mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +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) {
|
static unsigned GetAutoSenseRadix(StringRef &Str) {
|
||||||
|
if (Str.empty())
|
||||||
|
return 10;
|
||||||
|
|
||||||
if (Str.startswith("0x") || Str.startswith("0X")) {
|
if (Str.startswith("0x") || Str.startswith("0X")) {
|
||||||
Str = Str.substr(2);
|
Str = Str.substr(2);
|
||||||
return 16;
|
return 16;
|
||||||
|
@ -571,7 +571,8 @@ TEST(StringRefTest, getAsInteger) {
|
|||||||
|
|
||||||
|
|
||||||
static const char* BadStrings[] = {
|
static const char* BadStrings[] = {
|
||||||
"18446744073709551617" // value just over max
|
"" // empty string
|
||||||
|
, "18446744073709551617" // value just over max
|
||||||
, "123456789012345678901" // value way too large
|
, "123456789012345678901" // value way too large
|
||||||
, "4t23v" // illegal decimal characters
|
, "4t23v" // illegal decimal characters
|
||||||
, "0x123W56" // illegal hex characters
|
, "0x123W56" // illegal hex characters
|
||||||
|
Loading…
Reference in New Issue
Block a user