/// ParseInputFile - Given a bytecode or assembly input filename, parse and
/// return it, or return null if not possible.
///
-Module *llvm::ParseInputFile(const std::string &InputFilename) {
- std::auto_ptr<MemoryBuffer> Buffer(
- MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size()));
+Module *llvm::ParseInputFile(const std::string &Filename) {
+ std::auto_ptr<MemoryBuffer> Buffer(MemoryBuffer::getFileOrSTDIN(Filename));
Module *Result = 0;
if (Buffer.get())
Result = ParseBitcodeFile(Buffer.get());
ParseError Err;
- if (!Result && !(Result = ParseAssemblyFile(InputFilename,&Err))) {
+ if (!Result && !(Result = ParseAssemblyFile(Filename, &Err))) {
std::cerr << "bugpoint: " << Err.getMessage() << "\n";
Result = 0;
}
+
return Result;
}
// Load the first input file.
Program = ParseInputFile(Filenames[0]);
if (Program == 0) return true;
+
if (!run_as_child)
std::cout << "Read input file : '" << Filenames[0] << "'\n";
std::string ErrorMessage;
std::auto_ptr<Module> M;
- {
std::auto_ptr<MemoryBuffer> Buffer(
- MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size()));
+ MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage));
if (Buffer.get())
M.reset(ParseBitcodeFile(Buffer.get(), &ErrorMessage));
- else
- ErrorMessage = "Error reading file '" + InputFilename + "'";
- }
if (M.get() == 0) {
std::cerr << argv[0] << ": bytecode didn't read correctly.\n";
std::cerr << "Reason: " << ErrorMessage << "\n";
// Load the bytecode...
std::string ErrorMsg;
ModuleProvider *MP = 0;
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&InputFile[0],
- InputFile.size());
- if (Buffer == 0)
- ErrorMsg = "Error reading file '" + InputFile + "'";
- else {
+ if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFile,&ErrorMsg)){
MP = getBitcodeModuleProvider(Buffer, &ErrorMsg);
if (!MP) delete Buffer;
}
std::auto_ptr<Module> M;
- MemoryBuffer *Buffer
- = MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size());
-
- if (Buffer == 0)
- ErrorMessage = "Error reading file '" + InputFilename + "'";
- else
+ if (MemoryBuffer *Buffer
+ = MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage)) {
M.reset(ParseBitcodeFile(Buffer, &ErrorMessage));
- delete Buffer;
+ delete Buffer;
+ }
if (M.get() == 0) {
cerr << argv[0] << ": ";
std::auto_ptr<Module> M;
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&InputFilename[0],
- InputFilename.size());
+ MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFilename);
if (Buffer == 0) {
cerr << "Error reading file '" + InputFilename + "'";
return 1;
Module* Result = 0;
const std::string &FNStr = Filename.toString();
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&FNStr[0],
- FNStr.size());
- if (Buffer == 0)
- ErrorMessage = "Error reading file '" + FNStr + "'";
- else
+ if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(FNStr,
+ &ErrorMessage)) {
Result = ParseBitcodeFile(Buffer, &ErrorMessage);
- delete Buffer;
+ delete Buffer;
+ }
if (Result) return std::auto_ptr<Module>(Result); // Load successful!
if (Verbose) {
// Note: Currently we do not support reading an archive from stdin.
if (Filename == "-" || aPath.isBitcodeFile()) {
std::auto_ptr<MemoryBuffer> Buffer(
- MemoryBuffer::getFileOrSTDIN(&Filename[0], Filename.size()));
+ MemoryBuffer::getFileOrSTDIN(Filename, &ErrorMessage));
Module *Result = 0;
if (Buffer.get())
Result = ParseBitcodeFile(Buffer.get(), &ErrorMessage);
// Read in the bytecode file...
std::string ErrorMessage;
Module *M;
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&BytecodeFile[0],
- BytecodeFile.size());
- if (Buffer == 0)
- ErrorMessage = "Error reading file '" + BytecodeFile + "'";
- else
+ if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(BytecodeFile,
+ &ErrorMessage)) {
M = ParseBitcodeFile(Buffer, &ErrorMessage);
- delete Buffer;
+ delete Buffer;
+ }
if (M == 0) {
std::cerr << argv[0] << ": " << BytecodeFile << ": "
<< ErrorMessage << "\n";
std::auto_ptr<Module> M;
std::auto_ptr<MemoryBuffer> Buffer(
- MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size()));
+ MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage));
if (Buffer.get())
M.reset(ParseBitcodeFile(Buffer.get(), &ErrorMessage));
- else
- ErrorMessage = "Error reading file '" + InputFilename + "'";
if (M.get() == 0) {
std::cerr << argv[0] << ": ";
if (ErrorMessage.size())
Module::LibraryListType& deplibs,
std::string* ErrMsg) {
ModuleProvider *MP = 0;
- if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&fname[0],
- fname.size())) {
+ if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(fname)) {
MP = getBitcodeModuleProvider(Buffer);
if (MP == 0) delete Buffer;
}
// Load the input module...
std::auto_ptr<Module> M;
- MemoryBuffer *Buffer
- = MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size());
-
- if (Buffer == 0)
- ErrorMessage = "Error reading file '" + InputFilename + "'";
- else
+ if (MemoryBuffer *Buffer
+ = MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage)) {
M.reset(ParseBitcodeFile(Buffer, &ErrorMessage));
+ delete Buffer;
+ }
- delete Buffer;
if (M.get() == 0) {
cerr << argv[0] << ": ";
if (ErrorMessage.size())