diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-04-19 16:15:31 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-04-19 16:15:31 +0000 |
commit | 3576b74bb9a15d55f9de80206af9d24d78cfef3a (patch) | |
tree | 0bcd77f3ea66adfc49ad159e88de87bea6048c93 /llvm/lib/Archive/Archive.cpp | |
parent | f656397cc029d6d58957dcb86e48eef4e77043b7 (diff) | |
download | bcm5719-llvm-3576b74bb9a15d55f9de80206af9d24d78cfef3a.tar.gz bcm5719-llvm-3576b74bb9a15d55f9de80206af9d24d78cfef3a.zip |
Don't write into MemoryBuffers.
llvm-svn: 101783
Diffstat (limited to 'llvm/lib/Archive/Archive.cpp')
-rw-r--r-- | llvm/lib/Archive/Archive.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Archive/Archive.cpp b/llvm/lib/Archive/Archive.cpp index 4f100f7b11e..54c715c604d 100644 --- a/llvm/lib/Archive/Archive.cpp +++ b/llvm/lib/Archive/Archive.cpp @@ -233,15 +233,14 @@ bool llvm::GetBitcodeSymbols(const sys::Path& fName, } Module* -llvm::GetBitcodeSymbols(const unsigned char *BufPtr, unsigned Length, +llvm::GetBitcodeSymbols(const char *BufPtr, unsigned Length, const std::string& ModuleID, LLVMContext& Context, std::vector<std::string>& symbols, std::string* ErrMsg) { // Get the module. std::auto_ptr<MemoryBuffer> Buffer( - MemoryBuffer::getNewMemBuffer(Length, ModuleID.c_str())); - memcpy(const_cast<char *>(Buffer->getBufferStart()), BufPtr, Length); + MemoryBuffer::getMemBufferCopy(StringRef(BufPtr, Length),ModuleID.c_str())); Module *M = ParseBitcodeFile(Buffer.get(), Context, ErrMsg); if (!M) |