r216758 - unique_ptrify HeaderMap::FileBuffer
David Blaikie
dblaikie at gmail.com
Fri Aug 29 12:51:32 PDT 2014
Author: dblaikie
Date: Fri Aug 29 14:51:32 2014
New Revision: 216758
URL: http://llvm.org/viewvc/llvm-project?rev=216758&view=rev
Log:
unique_ptrify HeaderMap::FileBuffer
Modified:
cfe/trunk/include/clang/Lex/HeaderMap.h
cfe/trunk/lib/Lex/HeaderMap.cpp
Modified: cfe/trunk/include/clang/Lex/HeaderMap.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/HeaderMap.h?rev=216758&r1=216757&r2=216758&view=diff
==============================================================================
--- cfe/trunk/include/clang/Lex/HeaderMap.h (original)
+++ cfe/trunk/include/clang/Lex/HeaderMap.h Fri Aug 29 14:51:32 2014
@@ -17,6 +17,8 @@
#include "clang/Basic/LLVM.h"
#include "llvm/Support/Compiler.h"
+#include <memory>
+
namespace llvm {
class MemoryBuffer;
}
@@ -34,15 +36,12 @@ class HeaderMap {
HeaderMap(const HeaderMap &) LLVM_DELETED_FUNCTION;
void operator=(const HeaderMap &) LLVM_DELETED_FUNCTION;
- const llvm::MemoryBuffer *FileBuffer;
+ std::unique_ptr<const llvm::MemoryBuffer> FileBuffer;
bool NeedsBSwap;
- HeaderMap(const llvm::MemoryBuffer *File, bool BSwap)
- : FileBuffer(File), NeedsBSwap(BSwap) {
- }
+ HeaderMap(std::unique_ptr<const llvm::MemoryBuffer> File, bool BSwap)
+ : FileBuffer(std::move(File)), NeedsBSwap(BSwap) {}
public:
- ~HeaderMap();
-
/// HeaderMap::Create - This attempts to load the specified file as a header
/// map. If it doesn't look like a HeaderMap, it gives up and returns null.
static const HeaderMap *Create(const FileEntry *FE, FileManager &FM);
Modified: cfe/trunk/lib/Lex/HeaderMap.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/HeaderMap.cpp?rev=216758&r1=216757&r2=216758&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/HeaderMap.cpp (original)
+++ cfe/trunk/lib/Lex/HeaderMap.cpp Fri Aug 29 14:51:32 2014
@@ -81,7 +81,8 @@ const HeaderMap *HeaderMap::Create(const
unsigned FileSize = FE->getSize();
if (FileSize <= sizeof(HMapHeader)) return nullptr;
- std::unique_ptr<const llvm::MemoryBuffer> FileBuffer(FM.getBufferForFile(FE));
+ std::unique_ptr<const llvm::MemoryBuffer> FileBuffer =
+ FM.getBufferForFile(FE);
if (!FileBuffer) return nullptr; // Unreadable file?
const char *FileStart = FileBuffer->getBufferStart();
@@ -103,11 +104,7 @@ const HeaderMap *HeaderMap::Create(const
if (Header->Reserved != 0) return nullptr;
// Okay, everything looks good, create the header map.
- return new HeaderMap(FileBuffer.release(), NeedsByteSwap);
-}
-
-HeaderMap::~HeaderMap() {
- delete FileBuffer;
+ return new HeaderMap(std::move(FileBuffer), NeedsByteSwap);
}
//===----------------------------------------------------------------------===//
More information about the cfe-commits
mailing list