From 34ce14b019acc98be1f915bd7fabc1517c557b07 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Wed, 24 Sep 2003 22:04:02 +0000 Subject: [PATCH] * Eliminate BytecodeBufferReader::Length member variable * Kill unused ALIN_PTRS #define * Set the error string if user passed it in to be compatible with former API git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8701 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Bytecode/Reader/ReaderWrappers.cpp | 33 ++++++-------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/lib/Bytecode/Reader/ReaderWrappers.cpp b/lib/Bytecode/Reader/ReaderWrappers.cpp index ecdb16d363f..a5cc1c9a6b9 100644 --- a/lib/Bytecode/Reader/ReaderWrappers.cpp +++ b/lib/Bytecode/Reader/ReaderWrappers.cpp @@ -76,7 +76,6 @@ namespace { class BytecodeBufferReader : public BytecodeParser { private: const unsigned char *Buffer; - int Length; bool MustDelete; BytecodeBufferReader(const BytecodeBufferReader&); // Do not implement @@ -91,26 +90,23 @@ namespace { } BytecodeBufferReader::BytecodeBufferReader(const unsigned char *Buf, - unsigned Len, + unsigned Length, const std::string &ModuleID) { // If not aligned, allocate a new buffer to hold the bytecode... const unsigned char *ParseBegin = 0; - unsigned Offset = 0; if ((intptr_t)Buf & 3) { - Length = Len+4; - Buffer = new unsigned char[Length]; - Offset = 4 - ((intptr_t)Buf & 3); // Make sure it's aligned + Buffer = new unsigned char[Length+4]; + unsigned Offset = 4 - ((intptr_t)Buf & 3); // Make sure it's aligned ParseBegin = Buffer + Offset; - memcpy((unsigned char*)ParseBegin, Buf, Len); // Copy it over + memcpy((unsigned char*)ParseBegin, Buf, Length); // Copy it over MustDelete = true; } else { // If we don't need to copy it over, just use the caller's copy ParseBegin = Buffer = Buf; - Length = Len; MustDelete = false; } - ParseBytecode(ParseBegin, Len, ModuleID); + ParseBytecode(ParseBegin, Length, ModuleID); } BytecodeBufferReader::~BytecodeBufferReader() { @@ -131,12 +127,9 @@ namespace { public: BytecodeStdinReader(); - ~BytecodeStdinReader(); }; } -#define ALIGN_PTRS 0 - BytecodeStdinReader::BytecodeStdinReader() { int BlockSize; unsigned char Buffer[4096*4]; @@ -152,24 +145,10 @@ BytecodeStdinReader::BytecodeStdinReader() { if (FileData.empty()) throw std::string("Standard Input empty!"); -#if ALIGN_PTRS - FileBuf = (unsigned char*)mmap(0, FileData.size(), PROT_READ|PROT_WRITE, - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); - assert((Buf != (unsigned char*)-1) && "mmap returned error!"); - memcpy(Buf, &FileData[0], FileData.size()); -#else FileBuf = &FileData[0]; -#endif - ParseBytecode(FileBuf, FileData.size(), ""); } -BytecodeStdinReader::~BytecodeStdinReader() { -#if ALIGN_PTRS - munmap((char*)FileBuf, FileData.size()); // Free mmap'd data area -#endif -} - ///////////////////////////////////////////////////////////////////////////// // // Wrapper functions @@ -195,6 +174,7 @@ Module *ParseBytecodeBuffer(const unsigned char *Buffer, unsigned Length, M = AMP->releaseModule(); delete AMP; } catch (std::string &err) { + if (ErrorStr) ErrorStr = err; return 0; } return M; @@ -219,6 +199,7 @@ Module *ParseBytecodeFile(const std::string &Filename, std::string *ErrorStr) { M = AMP->releaseModule(); delete AMP; } catch (std::string &err) { + if (ErrorStr) ErrorStr = err; return 0; } return M;