[llvm] Add checksum option for create file (PR #162592)
peter mckinna via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 15 22:17:06 PDT 2025
================
@@ -1095,6 +1095,38 @@ LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
StringRef(Directory, DirectoryLen)));
}
+static llvm::DIFile::ChecksumKind
+map_from_llvmChecksumKind(LLVMChecksumKind CSKind) {
+ switch (CSKind) {
+ case LLVMChecksumKind::CSK_MD5:
+ return llvm::DIFile::CSK_MD5;
+ case LLVMChecksumKind::CSK_SHA1:
+ return llvm::DIFile::CSK_SHA1;
+ case LLVMChecksumKind::CSK_SHA256:
+ return llvm::DIFile::CSK_SHA256;
+ }
+ llvm_unreachable("Unhandled Checksum Kind");
+}
+
+LLVMMetadataRef LLVMDIBuilderCreateFileWithCheckSum(
+ LLVMDIBuilderRef Builder, const char *Filename, size_t FilenameLen,
+ const char *Directory, size_t DirectoryLen, LLVMChecksumKind ChecksumKind,
+ const char *Checksum, size_t ChecksumLen, const char *Source,
+ size_t SourceLen) {
+ StringRef ChkSum = StringRef(Checksum, ChecksumLen);
+ std::optional<llvm::DIFile::ChecksumInfo<StringRef>> CSInfo;
----------------
demoitem wrote:
Sorry, yes I implemented your first two suggestions but when I tried just using llvm::DIFile::ChecksumInfo<StringRef> I got compile errors no matching function for call.
I'm not as expert in C++ and or the optional class to figure out how to fix that. Welcome suggestions though.
https://github.com/llvm/llvm-project/pull/162592
More information about the llvm-commits
mailing list