Make the on-disk hash table usable with non-file

raw_ostreams. Requires LLVM r69583.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69584 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Douglas Gregor 2009-04-20 07:36:26 +00:00
Родитель 6ec07164b4
Коммит 3432fa591c
2 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -73,7 +73,7 @@ inline void Emit64(llvm::raw_ostream& Out, uint64_t V) {
Out << (unsigned char)(V >> 56);
}
inline void Pad(llvm::raw_fd_ostream& Out, unsigned A) {
inline void Pad(llvm::raw_ostream& Out, unsigned A) {
Offset off = (Offset) Out.tell();
uint32_t n = ((uintptr_t)(off+A-1) & ~(uintptr_t)(A-1)) - off;
for (; n ; --n)
@ -184,7 +184,7 @@ public:
insert(Buckets, NumBuckets, new (BA.Allocate<Item>()) Item(key, data));
}
io::Offset Emit(llvm::raw_fd_ostream& out) {
io::Offset Emit(llvm::raw_ostream& out) {
using namespace clang::io;
// Emit the payload of the table.
@ -193,7 +193,6 @@ public:
if (!B.head) continue;
// Store the offset for the data of this bucket.
// FIXME: need tell() to work on other raw ostreams
B.off = out.tell();
// Write out the number of items in the bucket.

Просмотреть файл

@ -604,7 +604,7 @@ public:
return std::make_pair(n, sizeof(uint32_t));
}
static void EmitKey(llvm::raw_fd_ostream& Out, PTHIdKey* key, unsigned n) {
static void EmitKey(llvm::raw_ostream& Out, PTHIdKey* key, unsigned n) {
// Record the location of the key data. This is used when generating
// the mapping from persistent IDs to strings.
key->FileOffset = Out.tell();