aboutsummaryrefslogtreecommitdiff
path: root/lib/Bitcode/Reader/BitstreamReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bitcode/Reader/BitstreamReader.cpp')
-rw-r--r--lib/Bitcode/Reader/BitstreamReader.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/Bitcode/Reader/BitstreamReader.cpp b/lib/Bitcode/Reader/BitstreamReader.cpp
index be70f5213b..84d5ca6150 100644
--- a/lib/Bitcode/Reader/BitstreamReader.cpp
+++ b/lib/Bitcode/Reader/BitstreamReader.cpp
@@ -198,9 +198,9 @@ void BitstreamCursor::skipRecord(unsigned AbbrevID) {
}
}
-unsigned BitstreamCursor::ReadRecord(unsigned AbbrevID,
+unsigned BitstreamCursor::readRecord(unsigned AbbrevID,
SmallVectorImpl<uint64_t> &Vals,
- const char **BlobStart, unsigned *BlobLen){
+ StringRef *Blob) {
if (AbbrevID == bitc::UNABBREV_RECORD) {
unsigned Code = ReadVBR(6);
unsigned NumElts = ReadVBR(6);
@@ -256,10 +256,11 @@ unsigned BitstreamCursor::ReadRecord(unsigned AbbrevID,
// Otherwise, read the number of bytes. If we can return a reference to
// the data, do so to avoid copying it.
- if (BlobStart) {
- *BlobStart = (const char*)BitStream->getBitcodeBytes().getPointer(
- NextChar, NumElts);
- *BlobLen = NumElts;
+ if (Blob) {
+ *Blob =
+ StringRef((const char*)BitStream->getBitcodeBytes().getPointer(
+ NextChar, NumElts),
+ NumElts);
} else {
for (; NumElts; ++NextChar, --NumElts)
Vals.push_back(getByte(NextChar));