diff options
Diffstat (limited to 'source/Expression/Materializer.cpp')
| -rw-r--r-- | source/Expression/Materializer.cpp | 14 | 
1 files changed, 4 insertions, 10 deletions
| diff --git a/source/Expression/Materializer.cpp b/source/Expression/Materializer.cpp index 8a1900ebb7394..fb9522f0dc368 100644 --- a/source/Expression/Materializer.cpp +++ b/source/Expression/Materializer.cpp @@ -461,17 +461,11 @@ public:          }          else          { -            Error get_address_error; -            lldb::ValueObjectSP addr_of_valobj_sp = valobj_sp->AddressOf(get_address_error); -            if (get_address_error.Success()) +            lldb::addr_t addr_of_valobj = valobj_sp->GetAddressOf(); +            if (addr_of_valobj != LLDB_INVALID_ADDRESS)              { -                DataExtractor valobj_extractor; -                addr_of_valobj_sp->GetData(valobj_extractor); -                lldb::offset_t offset = 0; -                lldb::addr_t addr_of_valobj_addr = valobj_extractor.GetAddress(&offset); -                                  Error write_error; -                map.WritePointerToMemory(load_addr, addr_of_valobj_addr, write_error); +                map.WritePointerToMemory(load_addr, addr_of_valobj, write_error);                  if (!write_error.Success())                  { @@ -839,7 +833,7 @@ public:                                                              name,                                                              address,                                                              eAddressTypeLoad, -                                                            ret->GetByteSize()); +                                                            map.GetAddressByteSize());          }          ret->ValueUpdated(); | 
