mirror of
https://github.com/intel/llvm.git
synced 2026-02-06 23:31:50 +08:00
Unify the return value of GetByteSize to an llvm::Optional<uint64_t> (NFC-ish)
This cleanup patch unifies all methods called GetByteSize() in the ValueObject hierarchy to return an optional, like the methods in CompilerType do. This means fewer magic 0 values, which could fix bugs down the road in languages where types can have a size of zero, such as Swift and C (but not C++). Differential Revision: https://reviews.llvm.org/D84285
This commit is contained in:
@@ -1408,7 +1408,7 @@ ValueObjectSP GetValueForOffset(StackFrame &frame, ValueObjectSP &parent,
|
||||
}
|
||||
|
||||
int64_t child_offset = child_sp->GetByteOffset();
|
||||
int64_t child_size = child_sp->GetByteSize();
|
||||
int64_t child_size = child_sp->GetByteSize().getValueOr(0);
|
||||
|
||||
if (offset >= child_offset && offset < (child_offset + child_size)) {
|
||||
return GetValueForOffset(frame, child_sp, offset - child_offset);
|
||||
@@ -1441,8 +1441,8 @@ ValueObjectSP GetValueForDereferincingOffset(StackFrame &frame,
|
||||
}
|
||||
|
||||
if (offset >= 0 && uint64_t(offset) >= pointee->GetByteSize()) {
|
||||
int64_t index = offset / pointee->GetByteSize();
|
||||
offset = offset % pointee->GetByteSize();
|
||||
int64_t index = offset / pointee->GetByteSize().getValueOr(1);
|
||||
offset = offset % pointee->GetByteSize().getValueOr(1);
|
||||
const bool can_create = true;
|
||||
pointee = base->GetSyntheticArrayMember(index, can_create);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user