Change the MemoryBuffer::getFile* methods to take just a pointer to the

start of a filename, not a filename+length.  All clients can produce a
null terminated name, and the system api's require null terminated 
strings anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2008-04-01 18:04:03 +00:00
parent 8eedc9ee2c
commit 038112a4e0
14 changed files with 35 additions and 53 deletions

View File

@@ -374,11 +374,7 @@ static void PrintSize(double Bits) {
/// AnalyzeBitcode - Analyze the bitcode file specified by InputFilename.
static int AnalyzeBitcode() {
// Read the input file.
MemoryBuffer *Buffer;
if (InputFilename == "-")
Buffer = MemoryBuffer::getSTDIN();
else
Buffer = MemoryBuffer::getFile(&InputFilename[0], InputFilename.size());
MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFilename.c_str());
if (Buffer == 0)
return Error("Error reading '" + InputFilename + "'.");

View File

@@ -186,8 +186,7 @@ const void* LTOCodeGenerator::compile(size_t* length, std::string& errMsg)
delete _nativeObjectFile;
// read .o file into memory buffer
_nativeObjectFile = MemoryBuffer::getFile(&uniqueObjStr[0],
uniqueObjStr.size(), &errMsg);
_nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(),&errMsg);
}
// remove temp files

View File

@@ -43,11 +43,11 @@ bool LTOModule::isBitcodeFile(const char* path)
return llvm::sys::Path(path).isBitcodeFile();
}
bool LTOModule::isBitcodeFileForTarget(const void* mem,
size_t length, const char* triplePrefix)
bool LTOModule::isBitcodeFileForTarget(const void* mem, size_t length,
const char* triplePrefix)
{
MemoryBuffer* buffer = MemoryBuffer::getMemBuffer((char*)mem,
(char*)mem+length);
(char*)mem+length);
if ( buffer == NULL )
return false;
return isTargetMatch(buffer, triplePrefix);
@@ -55,10 +55,10 @@ bool LTOModule::isBitcodeFileForTarget(const void* mem,
bool LTOModule::isBitcodeFileForTarget(const char* path,
const char* triplePrefix)
const char* triplePrefix)
{
MemoryBuffer* buffer = MemoryBuffer::getFile(path, strlen(path));
if ( buffer == NULL )
MemoryBuffer *buffer = MemoryBuffer::getFile(path);
if (buffer == NULL)
return false;
return isTargetMatch(buffer, triplePrefix);
}
@@ -85,8 +85,7 @@ LTOModule::LTOModule(Module* m, TargetMachine* t)
LTOModule* LTOModule::makeLTOModule(const char* path, std::string& errMsg)
{
OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(
path, strlen(path), &errMsg));
OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, &errMsg));
if ( !buffer )
return NULL;
return makeLTOModule(buffer.get(), errMsg);