aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Serialization/ModuleManager.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-11-08 04:17:11 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-11-08 04:17:11 +0000
commit77c89b6958f51a0b26c4849d37a200c1bc0319df (patch)
tree7ac81d7f4f32b81635db74539ad07fdbd1a6c535 /clang/lib/Serialization/ModuleManager.cpp
parent939c7d916e1631cf2a005b4ba6c03726ecbe0f85 (diff)
downloadllvm-77c89b6958f51a0b26c4849d37a200c1bc0319df.zip
llvm-77c89b6958f51a0b26c4849d37a200c1bc0319df.tar.gz
llvm-77c89b6958f51a0b26c4849d37a200c1bc0319df.tar.bz2
Bitcode: Decouple block info block state from reader.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html Move block info block state to a new class, BitstreamBlockInfo. Clients may set the block info for a particular cursor with the BitstreamCursor::setBlockInfo() method. At this point BitstreamReader is not much more than a container for an ArrayRef<uint8_t>, so remove it and replace all uses with direct uses of memory buffers. Differential Revision: https://reviews.llvm.org/D26259 llvm-svn: 286207
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
-rw-r--r--clang/lib/Serialization/ModuleManager.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp
index 0a176f6..e50dcaa 100644
--- a/clang/lib/Serialization/ModuleManager.cpp
+++ b/clang/lib/Serialization/ModuleManager.cpp
@@ -135,15 +135,14 @@ ModuleManager::addModule(StringRef FileName, ModuleKind Type,
}
// Initialize the stream.
- PCHContainerRdr.ExtractPCH(ModuleEntry->Buffer->getMemBufferRef(),
- ModuleEntry->StreamFile);
+ ModuleEntry->Data = PCHContainerRdr.ExtractPCH(*ModuleEntry->Buffer);
}
if (ExpectedSignature) {
// If we've not read the control block yet, read the signature eagerly now
// so that we can check it.
if (!ModuleEntry->Signature)
- ModuleEntry->Signature = ReadSignature(ModuleEntry->StreamFile);
+ ModuleEntry->Signature = ReadSignature(ModuleEntry->Data);
if (ModuleEntry->Signature != ExpectedSignature) {
ErrorStr = ModuleEntry->Signature ? "signature mismatch"