diff options
| author | bors <bors@rust-lang.org> | 2023-05-07 21:06:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-05-07 21:06:36 +0000 |
| commit | 3d5a5167101f0f828a2c7a084a3a7631ad1a44ed (patch) | |
| tree | 2ba1f523436ad377f806a1ba2f131277deac45e0 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | dd9df18792cd13b25a54406ef60e3b32ac358272 (diff) | |
| parent | e476f7ac36e4c77acc158aa7f7d2edc18b5b16fa (diff) | |
| download | rust-3d5a5167101f0f828a2c7a084a3a7631ad1a44ed.tar.gz rust-3d5a5167101f0f828a2c7a084a3a7631ad1a44ed.zip | |
Auto merge of #2878 - RalfJung:rustup, r=RalfJung
Rustup
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp index cadb6b1e23f..49acd71b3e1 100644 --- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp @@ -831,6 +831,28 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction( return wrap(Sub); } +extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod( + LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, + const char *Name, size_t NameLen, + const char *LinkageName, size_t LinkageNameLen, + LLVMMetadataRef File, unsigned LineNo, + LLVMMetadataRef Ty, LLVMRustDIFlags Flags, + LLVMRustDISPFlags SPFlags, LLVMMetadataRef TParam) { + DITemplateParameterArray TParams = + DITemplateParameterArray(unwrap<MDTuple>(TParam)); + DISubprogram::DISPFlags llvmSPFlags = fromRust(SPFlags); + DINode::DIFlags llvmFlags = fromRust(Flags); + DISubprogram *Sub = Builder->createMethod( + unwrapDI<DIScope>(Scope), + StringRef(Name, NameLen), + StringRef(LinkageName, LinkageNameLen), + unwrapDI<DIFile>(File), LineNo, + unwrapDI<DISubroutineType>(Ty), + 0, 0, nullptr, // VTable params aren't used + llvmFlags, llvmSPFlags, TParams); + return wrap(Sub); +} + extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateBasicType( LLVMRustDIBuilderRef Builder, const char *Name, size_t NameLen, uint64_t SizeInBits, unsigned Encoding) { |
