Skip to content

Commit b4838a9

Browse files
committed
Use LLVMDIBuilderCreateStaticMemberType
1 parent f1cffac commit b4838a9

File tree

3 files changed

+18
-28
lines changed

3 files changed

+18
-28
lines changed

compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use rustc_middle::ty::layout::{LayoutOf, TyAndLayout};
1111
use rustc_middle::ty::{self, AdtDef, CoroutineArgs, CoroutineArgsExt, Ty};
1212
use smallvec::smallvec;
1313

14-
use crate::common::{AsCCharPtr, CodegenCx};
14+
use crate::common::CodegenCx;
1515
use crate::debuginfo::metadata::enums::DiscrResult;
1616
use crate::debuginfo::metadata::type_map::{self, Stub, UniqueTypeId};
1717
use crate::debuginfo::metadata::{
@@ -381,10 +381,10 @@ fn build_single_variant_union_fields<'ll, 'tcx>(
381381
None,
382382
),
383383
unsafe {
384-
llvm::LLVMRustDIBuilderCreateStaticMemberType(
384+
llvm::LLVMDIBuilderCreateStaticMemberType(
385385
DIB(cx),
386386
enum_type_di_node,
387-
TAG_FIELD_NAME.as_c_char_ptr(),
387+
TAG_FIELD_NAME.as_ptr(),
388388
TAG_FIELD_NAME.len(),
389389
unknown_file_metadata(cx),
390390
UNKNOWN_LINE_NUMBER,
@@ -571,10 +571,10 @@ fn build_variant_struct_wrapper_type_di_node<'ll, 'tcx>(
571571

572572
let build_assoc_const =
573573
|name: &str, type_di_node: &'ll DIType, value: u64, align: Align| unsafe {
574-
llvm::LLVMRustDIBuilderCreateStaticMemberType(
574+
llvm::LLVMDIBuilderCreateStaticMemberType(
575575
DIB(cx),
576576
wrapper_struct_type_di_node,
577-
name.as_c_char_ptr(),
577+
name.as_ptr(),
578578
name.len(),
579579
unknown_file_metadata(cx),
580580
UNKNOWN_LINE_NUMBER,

compiler/rustc_codegen_llvm/src/llvm/ffi.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1748,6 +1748,19 @@ unsafe extern "C" {
17481748
Flags: DIFlags,
17491749
Ty: &'ll Metadata,
17501750
) -> &'ll Metadata;
1751+
1752+
pub(crate) fn LLVMDIBuilderCreateStaticMemberType<'ll>(
1753+
Builder: &DIBuilder<'ll>,
1754+
Scope: &'ll Metadata,
1755+
Name: *const c_uchar,
1756+
NameLen: size_t,
1757+
File: &'ll Metadata,
1758+
LineNumber: c_uint,
1759+
Type: &'ll Metadata,
1760+
Flags: DIFlags,
1761+
ConstantVal: Option<&'ll Value>,
1762+
AlignInBits: u32,
1763+
) -> &'ll Metadata;
17511764
}
17521765

17531766
#[link(name = "llvm-wrapper", kind = "static")]
@@ -2105,19 +2118,6 @@ unsafe extern "C" {
21052118
Ty: &'a DIType,
21062119
) -> &'a DIType;
21072120

2108-
pub fn LLVMRustDIBuilderCreateStaticMemberType<'a>(
2109-
Builder: &DIBuilder<'a>,
2110-
Scope: &'a DIDescriptor,
2111-
Name: *const c_char,
2112-
NameLen: size_t,
2113-
File: &'a DIFile,
2114-
LineNo: c_uint,
2115-
Ty: &'a DIType,
2116-
Flags: DIFlags,
2117-
val: Option<&'a Value>,
2118-
AlignInBits: u32,
2119-
) -> &'a DIDerivedType;
2120-
21212121
pub fn LLVMRustDIBuilderCreateStaticVariable<'a>(
21222122
Builder: &DIBuilder<'a>,
21232123
Context: Option<&'a DIScope>,

compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,16 +1019,6 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateVariantMemberType(
10191019
fromRust(Flags), unwrapDI<DIType>(Ty)));
10201020
}
10211021

1022-
extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticMemberType(
1023-
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1024-
size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
1025-
LLVMRustDIFlags Flags, LLVMValueRef val, uint32_t AlignInBits) {
1026-
return wrap(Builder->createStaticMemberType(
1027-
unwrapDI<DIDescriptor>(Scope), StringRef(Name, NameLen),
1028-
unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), fromRust(Flags),
1029-
unwrap<llvm::ConstantInt>(val), llvm::dwarf::DW_TAG_member, AlignInBits));
1030-
}
1031-
10321022
extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
10331023
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
10341024
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,

0 commit comments

Comments
 (0)