[CodeView] More appropriate name and type for a Microsoft precompiled headers parameter. NFC

llvm-svn: 350520
This commit is contained in:
Alexandre Ganea 2019-01-07 13:53:16 +00:00
parent 8ce48187ca
commit 433131868b
3 changed files with 26 additions and 26 deletions

View File

@ -84,20 +84,20 @@ Error mergeTypeAndIdRecords(MergingTypeTableBuilder &DestIds,
MergingTypeTableBuilder &DestTypes, MergingTypeTableBuilder &DestTypes,
SmallVectorImpl<TypeIndex> &SourceToDest, SmallVectorImpl<TypeIndex> &SourceToDest,
const CVTypeArray &IdsAndTypes, const CVTypeArray &IdsAndTypes,
Optional<EndPrecompRecord> &EndPrecomp); Optional<uint32_t> &PCHSignature);
Error mergeTypeAndIdRecords(GlobalTypeTableBuilder &DestIds, Error mergeTypeAndIdRecords(GlobalTypeTableBuilder &DestIds,
GlobalTypeTableBuilder &DestTypes, GlobalTypeTableBuilder &DestTypes,
SmallVectorImpl<TypeIndex> &SourceToDest, SmallVectorImpl<TypeIndex> &SourceToDest,
const CVTypeArray &IdsAndTypes, const CVTypeArray &IdsAndTypes,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EndPrecomp); Optional<uint32_t> &PCHSignature);
Error mergeTypeRecords(GlobalTypeTableBuilder &Dest, Error mergeTypeRecords(GlobalTypeTableBuilder &Dest,
SmallVectorImpl<TypeIndex> &SourceToDest, SmallVectorImpl<TypeIndex> &SourceToDest,
const CVTypeArray &Types, const CVTypeArray &Types,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EndPrecomp); Optional<uint32_t> &PCHSignature);
Error mergeIdRecords(GlobalTypeTableBuilder &Dest, ArrayRef<TypeIndex> Types, Error mergeIdRecords(GlobalTypeTableBuilder &Dest, ArrayRef<TypeIndex> Types,
SmallVectorImpl<TypeIndex> &SourceToDest, SmallVectorImpl<TypeIndex> &SourceToDest,

View File

@ -77,8 +77,7 @@ public:
// Local hashing entry points // Local hashing entry points
Error mergeTypesAndIds(MergingTypeTableBuilder &DestIds, Error mergeTypesAndIds(MergingTypeTableBuilder &DestIds,
MergingTypeTableBuilder &DestTypes, MergingTypeTableBuilder &DestTypes,
const CVTypeArray &IdsAndTypes, const CVTypeArray &IdsAndTypes, Optional<uint32_t> &S);
Optional<EndPrecompRecord> &EP);
Error mergeIdRecords(MergingTypeTableBuilder &Dest, Error mergeIdRecords(MergingTypeTableBuilder &Dest,
ArrayRef<TypeIndex> TypeSourceToDest, ArrayRef<TypeIndex> TypeSourceToDest,
const CVTypeArray &Ids); const CVTypeArray &Ids);
@ -90,14 +89,14 @@ public:
GlobalTypeTableBuilder &DestTypes, GlobalTypeTableBuilder &DestTypes,
const CVTypeArray &IdsAndTypes, const CVTypeArray &IdsAndTypes,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EP); Optional<uint32_t> &S);
Error mergeIdRecords(GlobalTypeTableBuilder &Dest, Error mergeIdRecords(GlobalTypeTableBuilder &Dest,
ArrayRef<TypeIndex> TypeSourceToDest, ArrayRef<TypeIndex> TypeSourceToDest,
const CVTypeArray &Ids, const CVTypeArray &Ids,
ArrayRef<GloballyHashedType> Hashes); ArrayRef<GloballyHashedType> Hashes);
Error mergeTypeRecords(GlobalTypeTableBuilder &Dest, const CVTypeArray &Types, Error mergeTypeRecords(GlobalTypeTableBuilder &Dest, const CVTypeArray &Types,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EP); Optional<uint32_t> &S);
private: private:
Error doit(const CVTypeArray &Types); Error doit(const CVTypeArray &Types);
@ -197,7 +196,7 @@ private:
/// its type indices. /// its type indices.
SmallVector<uint8_t, 256> RemapStorage; SmallVector<uint8_t, 256> RemapStorage;
Optional<EndPrecompRecord> EndPrecomp; Optional<uint32_t> PCHSignature;
}; };
} // end anonymous namespace } // end anonymous namespace
@ -275,12 +274,12 @@ Error TypeStreamMerger::mergeIdRecords(MergingTypeTableBuilder &Dest,
Error TypeStreamMerger::mergeTypesAndIds(MergingTypeTableBuilder &DestIds, Error TypeStreamMerger::mergeTypesAndIds(MergingTypeTableBuilder &DestIds,
MergingTypeTableBuilder &DestTypes, MergingTypeTableBuilder &DestTypes,
const CVTypeArray &IdsAndTypes, const CVTypeArray &IdsAndTypes,
Optional<EndPrecompRecord> &EP) { Optional<uint32_t> &S) {
DestIdStream = &DestIds; DestIdStream = &DestIds;
DestTypeStream = &DestTypes; DestTypeStream = &DestTypes;
UseGlobalHashes = false; UseGlobalHashes = false;
auto Err = doit(IdsAndTypes); auto Err = doit(IdsAndTypes);
EP = EndPrecomp; S = PCHSignature;
return Err; return Err;
} }
@ -288,12 +287,12 @@ Error TypeStreamMerger::mergeTypesAndIds(MergingTypeTableBuilder &DestIds,
Error TypeStreamMerger::mergeTypeRecords(GlobalTypeTableBuilder &Dest, Error TypeStreamMerger::mergeTypeRecords(GlobalTypeTableBuilder &Dest,
const CVTypeArray &Types, const CVTypeArray &Types,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EP) { Optional<uint32_t> &S) {
DestGlobalTypeStream = &Dest; DestGlobalTypeStream = &Dest;
UseGlobalHashes = true; UseGlobalHashes = true;
GlobalHashes = Hashes; GlobalHashes = Hashes;
auto Err = doit(Types); auto Err = doit(Types);
EP = EndPrecomp; S = PCHSignature;
return Err; return Err;
} }
@ -313,13 +312,13 @@ Error TypeStreamMerger::mergeTypesAndIds(GlobalTypeTableBuilder &DestIds,
GlobalTypeTableBuilder &DestTypes, GlobalTypeTableBuilder &DestTypes,
const CVTypeArray &IdsAndTypes, const CVTypeArray &IdsAndTypes,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EP) { Optional<uint32_t> &S) {
DestGlobalIdStream = &DestIds; DestGlobalIdStream = &DestIds;
DestGlobalTypeStream = &DestTypes; DestGlobalTypeStream = &DestTypes;
UseGlobalHashes = true; UseGlobalHashes = true;
GlobalHashes = Hashes; GlobalHashes = Hashes;
auto Err = doit(IdsAndTypes); auto Err = doit(IdsAndTypes);
EP = EndPrecomp; S = PCHSignature;
return Err; return Err;
} }
@ -445,28 +444,27 @@ Error llvm::codeview::mergeIdRecords(MergingTypeTableBuilder &Dest,
Error llvm::codeview::mergeTypeAndIdRecords( Error llvm::codeview::mergeTypeAndIdRecords(
MergingTypeTableBuilder &DestIds, MergingTypeTableBuilder &DestTypes, MergingTypeTableBuilder &DestIds, MergingTypeTableBuilder &DestTypes,
SmallVectorImpl<TypeIndex> &SourceToDest, const CVTypeArray &IdsAndTypes, SmallVectorImpl<TypeIndex> &SourceToDest, const CVTypeArray &IdsAndTypes,
Optional<EndPrecompRecord> &EndPrecomp) { Optional<uint32_t> &PCHSignature) {
TypeStreamMerger M(SourceToDest); TypeStreamMerger M(SourceToDest);
return M.mergeTypesAndIds(DestIds, DestTypes, IdsAndTypes, EndPrecomp); return M.mergeTypesAndIds(DestIds, DestTypes, IdsAndTypes, PCHSignature);
} }
Error llvm::codeview::mergeTypeAndIdRecords( Error llvm::codeview::mergeTypeAndIdRecords(
GlobalTypeTableBuilder &DestIds, GlobalTypeTableBuilder &DestTypes, GlobalTypeTableBuilder &DestIds, GlobalTypeTableBuilder &DestTypes,
SmallVectorImpl<TypeIndex> &SourceToDest, const CVTypeArray &IdsAndTypes, SmallVectorImpl<TypeIndex> &SourceToDest, const CVTypeArray &IdsAndTypes,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes, Optional<uint32_t> &PCHSignature) {
Optional<EndPrecompRecord> &EndPrecomp) {
TypeStreamMerger M(SourceToDest); TypeStreamMerger M(SourceToDest);
return M.mergeTypesAndIds(DestIds, DestTypes, IdsAndTypes, Hashes, return M.mergeTypesAndIds(DestIds, DestTypes, IdsAndTypes, Hashes,
EndPrecomp); PCHSignature);
} }
Error llvm::codeview::mergeTypeRecords(GlobalTypeTableBuilder &Dest, Error llvm::codeview::mergeTypeRecords(GlobalTypeTableBuilder &Dest,
SmallVectorImpl<TypeIndex> &SourceToDest, SmallVectorImpl<TypeIndex> &SourceToDest,
const CVTypeArray &Types, const CVTypeArray &Types,
ArrayRef<GloballyHashedType> Hashes, ArrayRef<GloballyHashedType> Hashes,
Optional<EndPrecompRecord> &EndPrecomp) { Optional<uint32_t> &PCHSignature) {
TypeStreamMerger M(SourceToDest); TypeStreamMerger M(SourceToDest);
return M.mergeTypeRecords(Dest, Types, Hashes, EndPrecomp); return M.mergeTypeRecords(Dest, Types, Hashes, PCHSignature);
} }
Error llvm::codeview::mergeIdRecords(GlobalTypeTableBuilder &Dest, Error llvm::codeview::mergeIdRecords(GlobalTypeTableBuilder &Dest,
@ -483,11 +481,13 @@ Expected<bool> TypeStreamMerger::shouldRemapType(const CVType &Type) {
// signature, through EndPrecompRecord. This is done here for performance // signature, through EndPrecompRecord. This is done here for performance
// reasons, to avoid re-parsing the Types stream. // reasons, to avoid re-parsing the Types stream.
if (Type.kind() == LF_ENDPRECOMP) { if (Type.kind() == LF_ENDPRECOMP) {
assert(!EndPrecomp); EndPrecompRecord EP;
EndPrecomp.emplace();
if (auto EC = TypeDeserializer::deserializeAs(const_cast<CVType &>(Type), if (auto EC = TypeDeserializer::deserializeAs(const_cast<CVType &>(Type),
EndPrecomp.getValue())) EP))
return joinErrors(std::move(EC), errorCorruptRecord()); return joinErrors(std::move(EC), errorCorruptRecord());
if (PCHSignature.hasValue())
return errorCorruptRecord();
PCHSignature.emplace(EP.getSignature());
return false; return false;
} }
return true; return true;

View File

@ -1248,9 +1248,9 @@ void COFFDumper::mergeCodeViewTypes(MergingTypeTableBuilder &CVIDs,
error(object_error::parse_failed); error(object_error::parse_failed);
} }
SmallVector<TypeIndex, 128> SourceToDest; SmallVector<TypeIndex, 128> SourceToDest;
Optional<EndPrecompRecord> EndPrecomp; Optional<uint32_t> PCHSignature;
if (auto EC = mergeTypeAndIdRecords(CVIDs, CVTypes, SourceToDest, Types, if (auto EC = mergeTypeAndIdRecords(CVIDs, CVTypes, SourceToDest, Types,
EndPrecomp)) PCHSignature))
return error(std::move(EC)); return error(std::move(EC));
} }
} }