diff options
| author | bors <bors@rust-lang.org> | 2023-05-06 14:16:55 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-05-06 14:16:55 +0000 |
| commit | 905d5a38d69328385ce9963c65c385734c60322d (patch) | |
| tree | 0a9c58202e335237689a8590698a501a41806116 /compiler/rustc_llvm/llvm-wrapper | |
| parent | 333b920feeb136d35fac804d51310df1a35c399e (diff) | |
| parent | 3cb1a4676a62eaa60c74a56c5e389aa1b258b3aa (diff) | |
| download | rust-905d5a38d69328385ce9963c65c385734c60322d.tar.gz rust-905d5a38d69328385ce9963c65c385734c60322d.zip | |
Auto merge of #111287 - matthiaskrgr:rollup-9lzax2c, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #110577 (Use fulfillment to check `Drop` impl compatibility) - #110610 (Add Terminator conversion from MIR to SMIR, part #1) - #110985 (Fix spans in LLVM-generated inline asm errors) - #110989 (Make the BUG_REPORT_URL configurable by tools ) - #111167 (debuginfo: split method declaration and definition) - #111230 (add hint for =< as <=) - #111279 (More robust debug assertions for `Instance::resolve` on built-in traits with non-standard trait items) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper')
| -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) { |
