diff options
author | Adrian Prantl <aprantl@apple.com> | 2020-07-25 08:27:21 -0700 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2020-07-25 08:27:21 -0700 |
commit | 1d9b860fb6a85df33fd52fcacc6a5efb421621bd (patch) | |
tree | 2da33a75ca5ab308ae38214fc45432af8e07230a /lldb/source/Target/StackFrame.cpp | |
parent | c09a10845b429307a38a93799e7520c0e16850fd (diff) | |
download | llvm-1d9b860fb6a85df33fd52fcacc6a5efb421621bd.zip llvm-1d9b860fb6a85df33fd52fcacc6a5efb421621bd.tar.gz llvm-1d9b860fb6a85df33fd52fcacc6a5efb421621bd.tar.bz2 |
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
Diffstat (limited to 'lldb/source/Target/StackFrame.cpp')
-rw-r--r-- | lldb/source/Target/StackFrame.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lldb/source/Target/StackFrame.cpp b/lldb/source/Target/StackFrame.cpp index 098aed9..22bca52 100644 --- a/lldb/source/Target/StackFrame.cpp +++ b/lldb/source/Target/StackFrame.cpp @@ -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); } |