diff options
Diffstat (limited to 'llvm/lib/Support/APFloat.cpp')
-rw-r--r-- | llvm/lib/Support/APFloat.cpp | 10 |
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); |