aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/APFloat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Support/APFloat.cpp')
-rw-r--r--llvm/lib/Support/APFloat.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp
index a7b9f25..e99649d 100644
--- a/llvm/lib/Support/APFloat.cpp
+++ b/llvm/lib/Support/APFloat.cpp
@@ -3262,9 +3262,8 @@ bool IEEEFloat::convertFromStringSpecials(StringRef str) {
return true;
}
- bool IsNegative = str.front() == '-';
+ bool IsNegative = str.consume_front("-");
if (IsNegative) {
- str = str.drop_front();
if (str.size() < MIN_NAME_SIZE)
return false;
@@ -3275,16 +3274,13 @@ bool IEEEFloat::convertFromStringSpecials(StringRef str) {
}
// If we have a 's' (or 'S') prefix, then this is a Signaling NaN.
- bool IsSignaling = str.front() == 's' || str.front() == 'S';
+ bool IsSignaling = str.consume_front_insensitive("s");
if (IsSignaling) {
- str = str.drop_front();
if (str.size() < MIN_NAME_SIZE)
return false;
}
- if (str.starts_with("nan") || str.starts_with("NaN")) {
- str = str.drop_front(3);
-
+ if (str.consume_front("nan") || str.consume_front("NaN")) {
// A NaN without payload.
if (str.empty()) {
makeNaN(IsSignaling, IsNegative);