aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Support/StringRef.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2024-01-24 19:17:23 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-04-19 21:24:44 +0000
commitab50317e96e57dee5b3ff4ad3f16f205b2a3359e (patch)
tree4b1f388eb6a07e574417aaacecd3ec4a83550718 /contrib/llvm-project/llvm/lib/Support/StringRef.cpp
parent412542983a5ba62902141a8a7e155cceb9196a66 (diff)
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/StringRef.cpp')
-rw-r--r--contrib/llvm-project/llvm/lib/Support/StringRef.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/contrib/llvm-project/llvm/lib/Support/StringRef.cpp b/contrib/llvm-project/llvm/lib/Support/StringRef.cpp
index feee47ca693b..945ae378eb91 100644
--- a/contrib/llvm-project/llvm/lib/Support/StringRef.cpp
+++ b/contrib/llvm-project/llvm/lib/Support/StringRef.cpp
@@ -388,20 +388,14 @@ static unsigned GetAutoSenseRadix(StringRef &Str) {
if (Str.empty())
return 10;
- if (Str.starts_with("0x") || Str.starts_with("0X")) {
- Str = Str.substr(2);
+ if (Str.consume_front_insensitive("0x"))
return 16;
- }
- if (Str.starts_with("0b") || Str.starts_with("0B")) {
- Str = Str.substr(2);
+ if (Str.consume_front_insensitive("0b"))
return 2;
- }
- if (Str.starts_with("0o")) {
- Str = Str.substr(2);
+ if (Str.consume_front("0o"))
return 8;
- }
if (Str[0] == '0' && Str.size() > 1 && isDigit(Str[1])) {
Str = Str.substr(1);
@@ -523,8 +517,7 @@ bool StringRef::consumeInteger(unsigned Radix, APInt &Result) {
// Skip leading zeroes. This can be a significant improvement if
// it means we don't need > 64 bits.
- while (!Str.empty() && Str.front() == '0')
- Str = Str.substr(1);
+ Str = Str.ltrim('0');
// If it was nothing but zeroes....
if (Str.empty()) {