diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:12:36 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:12:36 +0000 | 
| commit | ef5d0b5e97ec8e6fa395d377b09aa7755e345b4f (patch) | |
| tree | 27916256fdeeb57d10d2f3d6948be5d71a703215 /source/Utility/DataEncoder.cpp | |
| parent | 76e0736e7fcfeb179779e49c05604464b1ccd704 (diff) | |
Notes
Diffstat (limited to 'source/Utility/DataEncoder.cpp')
| -rw-r--r-- | source/Utility/DataEncoder.cpp | 44 | 
1 files changed, 8 insertions, 36 deletions
| diff --git a/source/Utility/DataEncoder.cpp b/source/Utility/DataEncoder.cpp index f7ce46889d2f..433a15bc9523 100644 --- a/source/Utility/DataEncoder.cpp +++ b/source/Utility/DataEncoder.cpp @@ -12,6 +12,7 @@  #include "lldb/Utility/DataBuffer.h"  #include "lldb/Utility/Endian.h" +#include "llvm/Support/Endian.h"  #include "llvm/Support/ErrorHandling.h" // for llvm_unreachable  #include "llvm/Support/MathExtras.h" @@ -22,36 +23,7 @@  using namespace lldb;  using namespace lldb_private; - -static inline void WriteInt16(unsigned char *ptr, unsigned offset, -                              uint16_t value) { -  *(uint16_t *)(ptr + offset) = value; -} - -static inline void WriteInt32(unsigned char *ptr, unsigned offset, -                              uint32_t value) { -  *(uint32_t *)(ptr + offset) = value; -} - -static inline void WriteInt64(unsigned char *ptr, unsigned offset, -                              uint64_t value) { -  *(uint64_t *)(ptr + offset) = value; -} - -static inline void WriteSwappedInt16(unsigned char *ptr, unsigned offset, -                                     uint16_t value) { -  *(uint16_t *)(ptr + offset) = llvm::ByteSwap_16(value); -} - -static inline void WriteSwappedInt32(unsigned char *ptr, unsigned offset, -                                     uint32_t value) { -  *(uint32_t *)(ptr + offset) = llvm::ByteSwap_32(value); -} - -static inline void WriteSwappedInt64(unsigned char *ptr, unsigned offset, -                                     uint64_t value) { -  *(uint64_t *)(ptr + offset) = llvm::ByteSwap_64(value); -} +using namespace llvm::support::endian;  //----------------------------------------------------------------------  // Default constructor. @@ -202,9 +174,9 @@ uint32_t DataEncoder::PutU8(uint32_t offset, uint8_t value) {  uint32_t DataEncoder::PutU16(uint32_t offset, uint16_t value) {    if (ValidOffsetForDataOfSize(offset, sizeof(value))) {      if (m_byte_order != endian::InlHostByteOrder()) -      WriteSwappedInt16(m_start, offset, value); +      write16be(m_start + offset, value);      else -      WriteInt16(m_start, offset, value); +      write16le(m_start + offset, value);      return offset + sizeof(value);    } @@ -214,9 +186,9 @@ uint32_t DataEncoder::PutU16(uint32_t offset, uint16_t value) {  uint32_t DataEncoder::PutU32(uint32_t offset, uint32_t value) {    if (ValidOffsetForDataOfSize(offset, sizeof(value))) {      if (m_byte_order != endian::InlHostByteOrder()) -      WriteSwappedInt32(m_start, offset, value); +      write32be(m_start + offset, value);      else -      WriteInt32(m_start, offset, value); +      write32le(m_start + offset, value);      return offset + sizeof(value);    } @@ -226,9 +198,9 @@ uint32_t DataEncoder::PutU32(uint32_t offset, uint32_t value) {  uint32_t DataEncoder::PutU64(uint32_t offset, uint64_t value) {    if (ValidOffsetForDataOfSize(offset, sizeof(value))) {      if (m_byte_order != endian::InlHostByteOrder()) -      WriteSwappedInt64(m_start, offset, value); +      write64be(m_start + offset, value);      else -      WriteInt64(m_start, offset, value); +      write64le(m_start + offset, value);      return offset + sizeof(value);    } | 
