summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-06-26 17:22:36 +0000
committerZachary Turner <zturner@google.com>2017-06-26 17:22:36 +0000
commite79b07e41e2a6a0166718c94e5747e13bb84ef77 (patch)
treef2afa6da521dc29e6aa437333c571e9f21c07ee8 /llvm/include
parent82143d3fbba6d861fd0248f4d9df90f435a783e8 (diff)
downloadbcm5719-llvm-e79b07e41e2a6a0166718c94e5747e13bb84ef77.tar.gz
bcm5719-llvm-e79b07e41e2a6a0166718c94e5747e13bb84ef77.zip
[llvm-pdbutil] Add a mode to `bytes` for dumping split debug chunks.
llvm-svn: 306309
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Support/BinaryStreamRef.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/include/llvm/Support/BinaryStreamRef.h b/llvm/include/llvm/Support/BinaryStreamRef.h
index 499d91cfb11..6d5135cb258 100644
--- a/llvm/include/llvm/Support/BinaryStreamRef.h
+++ b/llvm/include/llvm/Support/BinaryStreamRef.h
@@ -174,6 +174,16 @@ struct BinarySubstreamRef {
BinaryStreamRef SubSub = StreamData.slice(Off, Size);
return {Off + Offset, SubSub};
}
+ BinarySubstreamRef drop_front(uint32_t N) const {
+ return slice(N, size() - N);
+ }
+ BinarySubstreamRef keep_front(uint32_t N) const { return slice(0, N); }
+
+ std::pair<BinarySubstreamRef, BinarySubstreamRef>
+ split(uint32_t Offset) const {
+ return std::make_pair(keep_front(Offset), drop_front(Offset));
+ }
+
uint32_t size() const { return StreamData.getLength(); }
bool empty() const { return size() == 0; }
};
OpenPOWER on IntegriCloud