diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp | 7 | ||||
-rw-r--r-- | clang/lib/Frontend/PCHContainerOperations.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Frontend/SerializedDiagnosticReader.cpp | 5 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Serialization/GlobalModuleIndex.cpp | 3 |
5 files changed, 8 insertions, 13 deletions
diff --git a/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp b/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp index f2090f9583e..42a9782219c 100644 --- a/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp +++ b/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp @@ -325,8 +325,8 @@ void ObjectFilePCHContainerReader::ExtractPCH( if ((!IsCOFF && Name == "__clangast") || (IsCOFF && Name == "clangast")) { StringRef Buf; Section.getContents(Buf); - return StreamFile.init((const unsigned char *)Buf.begin(), - (const unsigned char *)Buf.end()); + StreamFile = llvm::BitstreamReader(Buf); + return; } } } @@ -334,8 +334,7 @@ void ObjectFilePCHContainerReader::ExtractPCH( if (EIB.convertToErrorCode() == llvm::object::object_error::invalid_file_type) // As a fallback, treat the buffer as a raw AST. - StreamFile.init((const unsigned char *)Buffer.getBufferStart(), - (const unsigned char *)Buffer.getBufferEnd()); + StreamFile = llvm::BitstreamReader(Buffer); else EIB.log(llvm::errs()); }); diff --git a/clang/lib/Frontend/PCHContainerOperations.cpp b/clang/lib/Frontend/PCHContainerOperations.cpp index 2d4edde4328..2c867e7c648 100644 --- a/clang/lib/Frontend/PCHContainerOperations.cpp +++ b/clang/lib/Frontend/PCHContainerOperations.cpp @@ -60,8 +60,7 @@ std::unique_ptr<ASTConsumer> RawPCHContainerWriter::CreatePCHContainerGenerator( void RawPCHContainerReader::ExtractPCH( llvm::MemoryBufferRef Buffer, llvm::BitstreamReader &StreamFile) const { - StreamFile.init((const unsigned char *)Buffer.getBufferStart(), - (const unsigned char *)Buffer.getBufferEnd()); + StreamFile = llvm::BitstreamReader(Buffer); } PCHContainerOperations::PCHContainerOperations() { diff --git a/clang/lib/Frontend/SerializedDiagnosticReader.cpp b/clang/lib/Frontend/SerializedDiagnosticReader.cpp index 05dc8518c38..aefd0f8fbb0 100644 --- a/clang/lib/Frontend/SerializedDiagnosticReader.cpp +++ b/clang/lib/Frontend/SerializedDiagnosticReader.cpp @@ -24,10 +24,7 @@ std::error_code SerializedDiagnosticReader::readDiagnostics(StringRef File) { if (!Buffer) return SDError::CouldNotLoad; - llvm::BitstreamReader StreamFile; - StreamFile.init((const unsigned char *)(*Buffer)->getBufferStart(), - (const unsigned char *)(*Buffer)->getBufferEnd()); - + llvm::BitstreamReader StreamFile(**Buffer); llvm::BitstreamCursor Stream(StreamFile); // Sniff for the signature. diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 57de217078f..650c46e9ff0 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -3802,7 +3802,8 @@ static ASTFileSignature readASTFileSignature(llvm::BitstreamReader &StreamFile); /// \brief Whether \p Stream starts with the AST/PCH file magic number 'CPCH'. static bool startsWithASTFileMagic(BitstreamCursor &Stream) { - return Stream.Read(8) == 'C' && + return Stream.canSkipToPos(4) && + Stream.Read(8) == 'C' && Stream.Read(8) == 'P' && Stream.Read(8) == 'C' && Stream.Read(8) == 'H'; diff --git a/clang/lib/Serialization/GlobalModuleIndex.cpp b/clang/lib/Serialization/GlobalModuleIndex.cpp index f75bc5260cc..e55ed40b227 100644 --- a/clang/lib/Serialization/GlobalModuleIndex.cpp +++ b/clang/lib/Serialization/GlobalModuleIndex.cpp @@ -246,8 +246,7 @@ GlobalModuleIndex::readIndex(StringRef Path) { std::unique_ptr<llvm::MemoryBuffer> Buffer = std::move(BufferOrErr.get()); /// \brief The bitstream reader from which we'll read the AST file. - llvm::BitstreamReader Reader((const unsigned char *)Buffer->getBufferStart(), - (const unsigned char *)Buffer->getBufferEnd()); + llvm::BitstreamReader Reader(*Buffer); /// \brief The main bitstream cursor for the main block. llvm::BitstreamCursor Cursor(Reader); |