summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2019-12-06 11:04:33 +0100
committerRaphael Isemann <teemperor@gmail.com>2019-12-06 11:16:39 +0100
commitfc39b94849c89843aebb210c5d9be9c48e2b43a6 (patch)
treebec05caedf458bbd2ebee6afc6a562b142e8a91a
parentdaee549b1756a7aa0f1560d5460ae580897e4c1a (diff)
downloadbcm5719-llvm-fc39b94849c89843aebb210c5d9be9c48e2b43a6.tar.gz
bcm5719-llvm-fc39b94849c89843aebb210c5d9be9c48e2b43a6.zip
[lldb][NFC] Move [SU]Int64ValueIsValidForByteSize to RegisterValue
These functions are an implementation detail of RegisterValue, so it doesn't make a lot of sense to implement them in a totally unrelated class.
-rw-r--r--lldb/include/lldb/Utility/Args.h29
-rw-r--r--lldb/source/Utility/RegisterValue.cpp34
2 files changed, 31 insertions, 32 deletions
diff --git a/lldb/include/lldb/Utility/Args.h b/lldb/include/lldb/Utility/Args.h
index 7987787e7af..1308f4038db 100644
--- a/lldb/include/lldb/Utility/Args.h
+++ b/lldb/include/lldb/Utility/Args.h
@@ -252,35 +252,6 @@ public:
// For re-setting or blanking out the list of arguments.
void Clear();
- static bool UInt64ValueIsValidForByteSize(uint64_t uval64,
- size_t total_byte_size) {
- if (total_byte_size > 8)
- return false;
-
- if (total_byte_size == 8)
- return true;
-
- const uint64_t max = (static_cast<uint64_t>(1)
- << static_cast<uint64_t>(total_byte_size * 8)) -
- 1;
- return uval64 <= max;
- }
-
- static bool SInt64ValueIsValidForByteSize(int64_t sval64,
- size_t total_byte_size) {
- if (total_byte_size > 8)
- return false;
-
- if (total_byte_size == 8)
- return true;
-
- const int64_t max = (static_cast<int64_t>(1)
- << static_cast<uint64_t>(total_byte_size * 8 - 1)) -
- 1;
- const int64_t min = ~(max);
- return min <= sval64 && sval64 <= max;
- }
-
static lldb::Encoding
StringToEncoding(llvm::StringRef s,
lldb::Encoding fail_value = lldb::eEncodingInvalid);
diff --git a/lldb/source/Utility/RegisterValue.cpp b/lldb/source/Utility/RegisterValue.cpp
index a01c35a2818..36790f5d8ef 100644
--- a/lldb/source/Utility/RegisterValue.cpp
+++ b/lldb/source/Utility/RegisterValue.cpp
@@ -8,7 +8,6 @@
#include "lldb/Utility/RegisterValue.h"
-#include "lldb/Utility/Args.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Scalar.h"
#include "lldb/Utility/Status.h"
@@ -330,6 +329,35 @@ static bool ParseVectorEncoding(const RegisterInfo *reg_info,
return true;
}
+static bool UInt64ValueIsValidForByteSize(uint64_t uval64,
+ size_t total_byte_size) {
+ if (total_byte_size > 8)
+ return false;
+
+ if (total_byte_size == 8)
+ return true;
+
+ const uint64_t max =
+ (static_cast<uint64_t>(1) << static_cast<uint64_t>(total_byte_size * 8)) -
+ 1;
+ return uval64 <= max;
+}
+
+static bool SInt64ValueIsValidForByteSize(int64_t sval64,
+ size_t total_byte_size) {
+ if (total_byte_size > 8)
+ return false;
+
+ if (total_byte_size == 8)
+ return true;
+
+ const int64_t max = (static_cast<int64_t>(1)
+ << static_cast<uint64_t>(total_byte_size * 8 - 1)) -
+ 1;
+ const int64_t min = ~(max);
+ return min <= sval64 && sval64 <= max;
+}
+
Status RegisterValue::SetValueFromString(const RegisterInfo *reg_info,
llvm::StringRef value_str) {
Status error;
@@ -368,7 +396,7 @@ Status RegisterValue::SetValueFromString(const RegisterInfo *reg_info,
break;
}
- if (!Args::UInt64ValueIsValidForByteSize(uval64, byte_size)) {
+ if (!UInt64ValueIsValidForByteSize(uval64, byte_size)) {
error.SetErrorStringWithFormat(
"value 0x%" PRIx64
" is too large to fit in a %u byte unsigned integer value",
@@ -397,7 +425,7 @@ Status RegisterValue::SetValueFromString(const RegisterInfo *reg_info,
break;
}
- if (!Args::SInt64ValueIsValidForByteSize(ival64, byte_size)) {
+ if (!SInt64ValueIsValidForByteSize(ival64, byte_size)) {
error.SetErrorStringWithFormat(
"value 0x%" PRIx64
" is too large to fit in a %u byte signed integer value",
OpenPOWER on IntegriCloud