Skip to content

Commit 2ea31f8

Browse files
committed
add LLVMDIBuilderCreateQualifiedType and LLVMDIBuilderCreateReferenceType to RustWrapper and fii
1 parent a522d78 commit 2ea31f8

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

compiler/rustc_codegen_llvm/src/llvm/ffi.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2016,6 +2016,18 @@ unsafe extern "C" {
20162016
AlignInBits: u32,
20172017
) -> &'a DIDerivedType;
20182018

2019+
pub fn LLVMRustDIBuilderCreateQualifiedType<'a>(
2020+
Builder: &DIBuilder<'a>,
2021+
Tag: c_uint,
2022+
Type: &'a DIType,
2023+
) -> &'a DIDerivedType;
2024+
2025+
pub fn LLVMRustDIBuilderCreateReferenceType<'a>(
2026+
Builder: &DIBuilder<'a>,
2027+
Tag: c_uint,
2028+
Type: &'a DIType,
2029+
) -> &'a DIDerivedType;
2030+
20192031
pub fn LLVMRustDIBuilderCreateLexicalBlock<'a>(
20202032
Builder: &DIBuilder<'a>,
20212033
Scope: &'a DIScope,

compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,6 +1140,20 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticMemberType(
11401140
unwrap<llvm::ConstantInt>(val), llvm::dwarf::DW_TAG_member, AlignInBits));
11411141
}
11421142

1143+
extern "C" LLVMMetadataRef
1144+
LLVMRustDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder, unsigned Tag,
1145+
LLVMMetadataRef Type) {
1146+
return wrap(
1147+
unwrap(Builder)->createQualifiedType(Tag, unwrapDI<DIType>(Type)));
1148+
}
1149+
1150+
extern "C" LLVMMetadataRef
1151+
LLVMRustDIBuilderCreateReferenceType(LLVMDIBuilderRef Builder, unsigned Tag,
1152+
LLVMMetadataRef Type) {
1153+
return wrap(
1154+
unwrap(Builder)->createReferenceType(Tag, unwrapDI<DIType>(Type)));
1155+
}
1156+
11431157
extern "C" LLVMMetadataRef
11441158
LLVMRustDIBuilderCreateLexicalBlock(LLVMRustDIBuilderRef Builder,
11451159
LLVMMetadataRef Scope, LLVMMetadataRef File,

0 commit comments

Comments
 (0)