summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/DataExtractor.cpp
diff options
context:
space:
mode:
authorWolfgang Pieb <Wolfgang.Pieb@sony.com>2017-06-21 19:37:44 +0000
committerWolfgang Pieb <Wolfgang.Pieb@sony.com>2017-06-21 19:37:44 +0000
commit258927e3da21c393dda09a6173dbf2912e3f81cd (patch)
tree179767ae0afe50e7523eb1790044c8cfd6c6cc09 /llvm/lib/Support/DataExtractor.cpp
parentfd048cc0ec2bb8d12d081258aab79bad495e7ae5 (diff)
downloadbcm5719-llvm-258927e3da21c393dda09a6173dbf2912e3f81cd.tar.gz
bcm5719-llvm-258927e3da21c393dda09a6173dbf2912e3f81cd.zip
[DWARF] Support for DW_FORM_strx3 and complete support for DW_FORM_strx{1,2,4}
(consumer). Reviewer: aprantl Differential Revision: https://reviews.llvm.org/D34418 llvm-svn: 305944
Diffstat (limited to 'llvm/lib/Support/DataExtractor.cpp')
-rw-r--r--llvm/lib/Support/DataExtractor.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Support/DataExtractor.cpp b/llvm/lib/Support/DataExtractor.cpp
index 53c10bcc562..0199b300ba7 100644
--- a/llvm/lib/Support/DataExtractor.cpp
+++ b/llvm/lib/Support/DataExtractor.cpp
@@ -68,6 +68,13 @@ uint16_t *DataExtractor::getU16(uint32_t *offset_ptr, uint16_t *dst,
Data.data());
}
+uint32_t DataExtractor::getU24(uint32_t *offset_ptr) const {
+ uint24_t ExtractedVal =
+ getU<uint24_t>(offset_ptr, this, IsLittleEndian, Data.data());
+ // The 3 bytes are in the correct byte order for the host.
+ return ExtractedVal.getAsUint32(sys::IsLittleEndianHost);
+}
+
uint32_t DataExtractor::getU32(uint32_t *offset_ptr) const {
return getU<uint32_t>(offset_ptr, this, IsLittleEndian, Data.data());
}
OpenPOWER on IntegriCloud