projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a C++11 ThreadPool implementation in LLVM
[oota-llvm.git]
/
include
/
llvm
/
Support
/
SourceMgr.h
diff --git
a/include/llvm/Support/SourceMgr.h
b/include/llvm/Support/SourceMgr.h
index 4717553bd0de13ee47f478d7ae896eeee9fb65a2..1f8b1a01865f59091dc70c1c644d2b0e5203c0b9 100644
(file)
--- a/
include/llvm/Support/SourceMgr.h
+++ b/
include/llvm/Support/SourceMgr.h
@@
-19,11
+19,11
@@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
+#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SMLoc.h"
#include <string>
namespace llvm {
#include "llvm/Support/SMLoc.h"
#include <string>
namespace llvm {
- class MemoryBuffer;
class SourceMgr;
class SMDiagnostic;
class SMFixIt;
class SourceMgr;
class SMDiagnostic;
class SMFixIt;
@@
-47,10
+47,15
@@
public:
private:
struct SrcBuffer {
/// The memory buffer for the file.
private:
struct SrcBuffer {
/// The memory buffer for the file.
-
MemoryBuffer *
Buffer;
+
std::unique_ptr<MemoryBuffer>
Buffer;
/// This is the location of the parent include, or null if at the top level.
SMLoc IncludeLoc;
/// This is the location of the parent include, or null if at the top level.
SMLoc IncludeLoc;
+
+ SrcBuffer() {}
+
+ SrcBuffer(SrcBuffer &&O)
+ : Buffer(std::move(O.Buffer)), IncludeLoc(O.IncludeLoc) {}
};
/// This is all of the buffers that we are reading from.
};
/// This is all of the buffers that we are reading from.
@@
-68,8
+73,8
@@
private:
bool isValidBufferID(unsigned i) const { return i && i <= Buffers.size(); }
bool isValidBufferID(unsigned i) const { return i && i <= Buffers.size(); }
- SourceMgr(const SourceMgr&)
LLVM_DELETED_FUNCTION
;
- void operator=(const SourceMgr&)
LLVM_DELETED_FUNCTION
;
+ SourceMgr(const SourceMgr&)
= delete
;
+ void operator=(const SourceMgr&)
= delete
;
public:
SourceMgr()
: LineNoCache(nullptr), DiagHandler(nullptr), DiagContext(nullptr) {}
public:
SourceMgr()
: LineNoCache(nullptr), DiagHandler(nullptr), DiagContext(nullptr) {}
@@
-96,7
+101,7
@@
public:
const MemoryBuffer *getMemoryBuffer(unsigned i) const {
assert(isValidBufferID(i));
const MemoryBuffer *getMemoryBuffer(unsigned i) const {
assert(isValidBufferID(i));
- return Buffers[i - 1].Buffer;
+ return Buffers[i - 1].Buffer
.get()
;
}
unsigned getNumBuffers() const {
}
unsigned getNumBuffers() const {
@@
-115,11
+120,12
@@
public:
/// Add a new source buffer to this source manager. This takes ownership of
/// the memory buffer.
/// Add a new source buffer to this source manager. This takes ownership of
/// the memory buffer.
- unsigned AddNewSourceBuffer(MemoryBuffer *F, SMLoc IncludeLoc) {
+ unsigned AddNewSourceBuffer(std::unique_ptr<MemoryBuffer> F,
+ SMLoc IncludeLoc) {
SrcBuffer NB;
SrcBuffer NB;
- NB.Buffer =
F
;
+ NB.Buffer =
std::move(F)
;
NB.IncludeLoc = IncludeLoc;
NB.IncludeLoc = IncludeLoc;
- Buffers.push_back(
NB
);
+ Buffers.push_back(
std::move(NB)
);
return Buffers.size();
}
return Buffers.size();
}
@@
-270,8
+276,8
@@
public:
return FixIts;
}
return FixIts;
}
- void print(const char *ProgName, raw_ostream &S,
- bool Show
Colors
= true) const;
+ void print(const char *ProgName, raw_ostream &S,
bool ShowColors = true,
+ bool Show
KindLabel
= true) const;
};
} // end llvm namespace
};
} // end llvm namespace