Skip to content

Commit d2c914c

Browse files
committed
add LLVMDIBuilderCreateQualifiedType and LLVMDIBuilderCreateReferenceType to RustWrapper and fii
1 parent 426d173 commit d2c914c

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
@@ -1999,6 +1999,18 @@ unsafe extern "C" {
19991999
AlignInBits: u32,
20002000
) -> &'a DIDerivedType;
20012001

2002+
pub fn LLVMRustDIBuilderCreateQualifiedType<'a>(
2003+
Builder: &DIBuilder<'a>,
2004+
Tag: c_uint,
2005+
Type: &'a DIType,
2006+
) -> &'a DIDerivedType;
2007+
2008+
pub fn LLVMRustDIBuilderCreateReferenceType<'a>(
2009+
Builder: &DIBuilder<'a>,
2010+
Tag: c_uint,
2011+
Type: &'a DIType,
2012+
) -> &'a DIDerivedType;
2013+
20022014
pub fn LLVMRustDIBuilderCreateLexicalBlock<'a>(
20032015
Builder: &DIBuilder<'a>,
20042016
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)