[llvm-commits] [lld] r153620 - in /lld/trunk: include/lld/Core/NativeReader.h lib/Core/NativeReader.cpp tools/lld-core/lld-core.cpp
Michael J. Spencer
bigcheesegs at gmail.com
Wed Mar 28 17:49:50 PDT 2012
Author: mspencer
Date: Wed Mar 28 19:49:50 2012
New Revision: 153620
URL: http://llvm.org/viewvc/llvm-project?rev=153620&view=rev
Log:
llvm::OwningPtr -> std::unique_ptr.
Modified:
lld/trunk/include/lld/Core/NativeReader.h
lld/trunk/lib/Core/NativeReader.cpp
lld/trunk/tools/lld-core/lld-core.cpp
Modified: lld/trunk/include/lld/Core/NativeReader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/NativeReader.h?rev=153620&r1=153619&r2=153620&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/NativeReader.h (original)
+++ lld/trunk/include/lld/Core/NativeReader.h Wed Mar 28 19:49:50 2012
@@ -12,9 +12,9 @@
#include "lld/Core/File.h"
-#include "llvm/ADT/OwningPtr.h"
#include "llvm/Support/system_error.h"
+#include <memory>
#include <vector>
namespace llvm {
@@ -23,18 +23,17 @@
}
namespace lld {
-
/// parseNativeObjectFileOrSTDIN - Open the specified native object file (use
/// stdin if the path is "-") and instantiate into an lld::File object.
- llvm::error_code parseNativeObjectFileOrSTDIN(llvm::StringRef path
- , llvm::OwningPtr<File>& result);
+ llvm::error_code parseNativeObjectFileOrSTDIN( llvm::StringRef path
+ , std::unique_ptr<File> &result);
/// parseNativeObjectFile - Parse the specified native object file
/// (in a buffer) and instantiate into an lld::File object.
- llvm::error_code parseNativeObjectFile(llvm::OwningPtr<llvm::MemoryBuffer>& mb
+ llvm::error_code parseNativeObjectFile(std::unique_ptr<llvm::MemoryBuffer> &mb
,llvm::StringRef path
- ,llvm::OwningPtr<File>& result);
+ ,std::unique_ptr<File> &result);
} // namespace lld
Modified: lld/trunk/lib/Core/NativeReader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/NativeReader.cpp?rev=153620&r1=153619&r2=153620&view=diff
==============================================================================
--- lld/trunk/lib/Core/NativeReader.cpp (original)
+++ lld/trunk/lib/Core/NativeReader.cpp Wed Mar 28 19:49:50 2012
@@ -228,9 +228,9 @@
/// Instantiates a File object from a native object file. Ownership
/// of the MemoryBuffer is transfered to the resulting File object.
- static llvm::error_code make(llvm::OwningPtr<llvm::MemoryBuffer>& mb,
- llvm::StringRef path,
- llvm::OwningPtr<File>& result) {
+ static llvm::error_code make(std::unique_ptr<llvm::MemoryBuffer> mb,
+ llvm::StringRef path,
+ std::unique_ptr<File> &result) {
const uint8_t* const base =
reinterpret_cast<const uint8_t*>(mb->getBufferStart());
const NativeFileHeader* const header =
@@ -247,7 +247,7 @@
return make_error_code(native_reader_error::file_too_short);
// instantiate NativeFile object and add values to it as found
- NativeFile* file = new NativeFile(mb, path);
+ std::unique_ptr<NativeFile> file(new NativeFile(std::move(mb), path));
// process each chunk
for(uint32_t i=0; i < header->chunkCount; ++i) {
@@ -294,16 +294,12 @@
return make_error_code(native_reader_error::unknown_chunk_type);
}
if ( ec ) {
- delete file;
return ec;
}
-
// TO DO: validate enough chunks were used
-
- result.reset(file);
}
-
+ result.reset(file.release());
return make_error_code(native_reader_error::success);
}
@@ -622,9 +618,9 @@
// private constructor, only called by make()
- NativeFile(llvm::OwningPtr<llvm::MemoryBuffer>& mb, llvm::StringRef path) :
+ NativeFile(std::unique_ptr<llvm::MemoryBuffer> mb, llvm::StringRef path) :
lld::File(path),
- _buffer(mb.take()), // NativeFile now takes ownership of buffer
+ _buffer(std::move(mb)), // NativeFile now takes ownership of buffer
_header(NULL),
_targetsTable(NULL),
_targetsTableCount(0),
@@ -679,7 +675,7 @@
};
- llvm::OwningPtr<llvm::MemoryBuffer> _buffer;
+ std::unique_ptr<llvm::MemoryBuffer> _buffer;
const NativeFileHeader* _header;
AtomArray<DefinedAtom> _definedAtoms;
AtomArray<UndefinedAtom> _undefinedAtoms;
@@ -807,10 +803,10 @@
//
// Instantiate an lld::File from the given native object file buffer
//
-llvm::error_code parseNativeObjectFile(llvm::OwningPtr<llvm::MemoryBuffer>& mb,
- llvm::StringRef path,
- llvm::OwningPtr<File>& result) {
- return NativeFile::make(mb, path, result);
+llvm::error_code parseNativeObjectFile(std::unique_ptr<llvm::MemoryBuffer> mb,
+ llvm::StringRef path,
+ std::unique_ptr<File> &result) {
+ return NativeFile::make(std::move(mb), path, result);
}
@@ -818,14 +814,16 @@
//
// Instantiate an lld::File from the given native object file path
//
-llvm::error_code parseNativeObjectFileOrSTDIN(llvm::StringRef path,
- llvm::OwningPtr<File>& result) {
+llvm::error_code parseNativeObjectFileOrSTDIN(llvm::StringRef path,
+ std::unique_ptr<File>& result) {
llvm::OwningPtr<llvm::MemoryBuffer> mb;
llvm::error_code ec = llvm::MemoryBuffer::getFileOrSTDIN(path, mb);
if ( ec )
return ec;
- return parseNativeObjectFile(mb, path, result);
+ return parseNativeObjectFile( std::unique_ptr<llvm::MemoryBuffer>(mb.take())
+ , path
+ , result);
}
Modified: lld/trunk/tools/lld-core/lld-core.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/tools/lld-core/lld-core.cpp?rev=153620&r1=153619&r2=153620&view=diff
==============================================================================
--- lld/trunk/tools/lld-core/lld-core.cpp (original)
+++ lld/trunk/tools/lld-core/lld-core.cpp Wed Mar 28 19:49:50 2012
@@ -550,7 +550,7 @@
// out << "native file: " << tempPath.str() << "\n";
// read native file
- llvm::OwningPtr<lld::File> natFile;
+ std::unique_ptr<lld::File> natFile;
if ( error(parseNativeObjectFileOrSTDIN(tempPath, natFile)) )
return 1;
More information about the llvm-commits
mailing list