mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-20 19:04:10 -04:00
[DebugInfo] Added support for Checksum debug info feature.
Differential Revision: https://reviews.llvm.org/D27642 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290514 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -815,13 +815,17 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
|
||||
}
|
||||
|
||||
case bitc::METADATA_FILE: {
|
||||
if (Record.size() != 3)
|
||||
if (Record.size() != 3 && Record.size() != 5)
|
||||
return error("Invalid record");
|
||||
|
||||
IsDistinct = Record[0];
|
||||
MetadataList.assignValue(
|
||||
GET_OR_DISTINCT(
|
||||
DIFile, (Context, getMDString(Record[1]), getMDString(Record[2]))),
|
||||
DIFile,
|
||||
(Context, getMDString(Record[1]), getMDString(Record[2]),
|
||||
Record.size() == 3 ? DIFile::CSK_None
|
||||
: static_cast<DIFile::ChecksumKind>(Record[3]),
|
||||
Record.size() == 3 ? nullptr : getMDString(Record[4]))),
|
||||
NextMetadataNo++);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1515,6 +1515,8 @@ void ModuleBitcodeWriter::writeDIFile(const DIFile *N,
|
||||
Record.push_back(N->isDistinct());
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getRawFilename()));
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getRawDirectory()));
|
||||
Record.push_back(N->getChecksumKind());
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getRawChecksum()));
|
||||
|
||||
Stream.EmitRecord(bitc::METADATA_FILE, Record, Abbrev);
|
||||
Record.clear();
|
||||
|
||||
Reference in New Issue
Block a user