diff options
| author | Mrmaxmeier <Mrmaxmeier@gmail.com> | 2024-04-27 23:14:36 +0200 |
|---|---|---|
| committer | Mrmaxmeier <Mrmaxmeier@gmail.com> | 2024-07-29 12:35:36 +0200 |
| commit | 0b87af9d4f7c6faa9e89496609f016dc3e3977e1 (patch) | |
| tree | c575ca9c9a0eda82907c10240ce1b3aab732e6b9 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 80d8270d8488957f62fbf0df7a19dfe596be92ac (diff) | |
| download | rust-0b87af9d4f7c6faa9e89496609f016dc3e3977e1.tar.gz rust-0b87af9d4f7c6faa9e89496609f016dc3e3977e1.zip | |
Add `-Z embed-source=yes` to embed source code in DWARF debug info
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp index 4cdd8af1008..6e700c31e67 100644 --- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp @@ -901,14 +901,19 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFile(LLVMRustDIBuilderRef Builder, const char *Filename, size_t FilenameLen, const char *Directory, size_t DirectoryLen, LLVMRustChecksumKind CSKind, - const char *Checksum, size_t ChecksumLen) { + const char *Checksum, size_t ChecksumLen, + const char *Source, size_t SourceLen) { std::optional<DIFile::ChecksumKind> llvmCSKind = fromRust(CSKind); std::optional<DIFile::ChecksumInfo<StringRef>> CSInfo{}; if (llvmCSKind) CSInfo.emplace(*llvmCSKind, StringRef{Checksum, ChecksumLen}); + std::optional<StringRef> oSource{}; + if (Source) + oSource = StringRef(Source, SourceLen); return wrap(Builder->createFile(StringRef(Filename, FilenameLen), - StringRef(Directory, DirectoryLen), CSInfo)); + StringRef(Directory, DirectoryLen), CSInfo, + oSource)); } extern "C" LLVMMetadataRef |
