[master-next] Update endian stream interface to match Clang r332757

This commit is contained in:
Bob Wilson
2018-05-19 22:19:35 -07:00
parent 6afe722359
commit 1fc7f1391e
4 changed files with 44 additions and 44 deletions

View File

@@ -122,14 +122,14 @@ namespace {
}
uint32_t dataLength = (sizeof(uint32_t) + 1) * data.size();
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
writer.write<uint16_t>(dataLength);
return { keyLength, dataLength };
}
void EmitKey(raw_ostream &out, key_type_ref key, unsigned len) {
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
switch (key.getKind()) {
case DeclBaseName::Kind::Normal:
writer.write<uint8_t>(static_cast<uint8_t>(DeclNameKind::Normal));
@@ -150,7 +150,7 @@ namespace {
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
for (auto entry : data) {
writer.write<uint8_t>(entry.first);
writer.write<uint32_t>(entry.second);
@@ -204,7 +204,7 @@ namespace {
if (nameData > 0)
dataLength += nameData;
}
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
writer.write<uint16_t>(dataLength);
return { keyLength, dataLength };
@@ -217,7 +217,7 @@ namespace {
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
for (auto entry : data) {
StringRef dataToWrite;
writer.write<uint32_t>(entry.second);
@@ -247,7 +247,7 @@ namespace {
data_type_ref data) {
uint32_t keyLength = key.size();
uint32_t dataLength = sizeof(uint32_t);
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
return { keyLength, dataLength };
}
@@ -259,7 +259,7 @@ namespace {
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint32_t>(data);
}
};
@@ -287,7 +287,7 @@ namespace {
data_type_ref data) {
uint32_t keyLength = key.str().size();
uint32_t dataLength = (sizeof(uint32_t) * 2) * data.size();
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
writer.write<uint16_t>(dataLength);
return { keyLength, dataLength };
@@ -301,7 +301,7 @@ namespace {
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
for (auto entry : data) {
writer.write<uint32_t>(entry.first);
writer.write<uint32_t>(entry.second);
@@ -341,14 +341,14 @@ namespace {
keyLength += key.getIdentifier().str().size(); // The name's length
}
uint32_t dataLength = sizeof(uint32_t);
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
// No need to write dataLength, it's constant.
return { keyLength, dataLength };
}
void EmitKey(raw_ostream &out, key_type_ref key, unsigned len) {
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
switch (key.getKind()) {
case DeclBaseName::Kind::Normal:
writer.write<uint8_t>(static_cast<uint8_t>(DeclNameKind::Normal));
@@ -369,7 +369,7 @@ namespace {
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(bitOffsetFitsIn32Bits(), "BitOffset too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint32_t>(static_cast<uint32_t>(data));
}
};
@@ -395,7 +395,7 @@ namespace {
assert((data.size() < (1 << 14)) && "Too many members");
uint32_t keyLength = sizeof(uint32_t); // key DeclID
uint32_t dataLength = sizeof(uint32_t) * data.size(); // value DeclIDs
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
writer.write<uint16_t>(dataLength);
return { keyLength, dataLength };
@@ -404,14 +404,14 @@ namespace {
void EmitKey(raw_ostream &out, key_type_ref key, unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
assert(len == sizeof(uint32_t));
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint32_t>(key);
}
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
for (auto entry : data) {
writer.write<uint32_t>(entry);
}
@@ -4186,7 +4186,7 @@ static void writeDeclTable(const index_block::DeclListLayout &DeclList,
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream);
}
@@ -4212,7 +4212,7 @@ writeExtensionTable(const index_block::ExtensionTableLayout &ExtensionTable,
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream, info);
}
@@ -4228,7 +4228,7 @@ static void writeLocalDeclTable(const index_block::DeclListLayout &DeclList,
{
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream);
}
@@ -4248,7 +4248,7 @@ writeNestedTypeDeclsTable(const index_block::NestedTypeDeclsLayout &declList,
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream);
}
@@ -4273,7 +4273,7 @@ writeDeclMemberNamesTable(const index_block::DeclMemberNamesLayout &declNames,
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream);
}
@@ -4293,7 +4293,7 @@ writeDeclMembersTable(const decl_member_tables_block::DeclMembersLayout &mems,
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream);
}
@@ -4343,7 +4343,7 @@ public:
// Source order.
dataLength += numLen;
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint32_t>(keyLength);
writer.write<uint32_t>(dataLength);
return { keyLength, dataLength };
@@ -4355,7 +4355,7 @@ public:
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint32_t>(data.Brief.size());
out << data.Brief;
writer.write<uint32_t>(data.Raw.Comments.size());
@@ -4551,7 +4551,7 @@ static void writeGroupNames(const comment_block::GroupNamesLayout &GroupNames,
ArrayRef<StringRef> Names) {
llvm::SmallString<32> Blob;
llvm::raw_svector_ostream BlobStream(Blob);
endian::Writer<little> Writer(BlobStream);
endian::Writer Writer(BlobStream, little);
Writer.write<uint32_t>(Names.size());
for (auto N : Names) {
Writer.write<uint32_t>(N.size());
@@ -4672,7 +4672,7 @@ static void writeDeclCommentTable(
{
llvm::raw_svector_ostream blobStream(hashTableBlob);
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = Writer.generator.Emit(blobStream);
}
@@ -4709,7 +4709,7 @@ namespace {
dataLength += std::get<0>(entry).size();
}
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
writer.write<uint16_t>(keyLength);
writer.write<uint32_t>(dataLength);
return { keyLength, dataLength };
@@ -4726,7 +4726,7 @@ namespace {
void EmitData(raw_ostream &out, key_type_ref key, data_type_ref data,
unsigned len) {
static_assert(declIDFitsIn32Bits(), "DeclID too large");
endian::Writer<little> writer(out);
endian::Writer writer(out, little);
for (const auto &entry : data) {
writer.write<uint32_t>(std::get<0>(entry).size());
writer.write<uint8_t>(std::get<1>(entry));
@@ -4759,7 +4759,7 @@ static void writeObjCMethodTable(const index_block::ObjCMethodTableLayout &out,
}
// Make sure that no bucket is at offset 0
endian::Writer<little>(blobStream).write<uint32_t>(0);
endian::write<uint32_t>(blobStream, 0, little);
tableOffset = generator.Emit(blobStream);
}