Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 0421518

Browse files
committed
Use LLVMDIBuilderCreateLexicalBlockFile
1 parent 9e43aaa commit 0421518

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1630,7 +1630,14 @@ pub(crate) fn extend_scope_to_file<'ll>(
16301630
file: &SourceFile,
16311631
) -> &'ll DILexicalBlock {
16321632
let file_metadata = file_metadata(cx, file);
1633-
unsafe { llvm::LLVMRustDIBuilderCreateLexicalBlockFile(DIB(cx), scope_metadata, file_metadata) }
1633+
unsafe {
1634+
llvm::LLVMDIBuilderCreateLexicalBlockFile(
1635+
DIB(cx),
1636+
scope_metadata,
1637+
file_metadata,
1638+
/* Discriminator (default) */ 0u32,
1639+
)
1640+
}
16341641
}
16351642

16361643
fn tuple_field_name(field_index: usize) -> Cow<'static, str> {

compiler/rustc_codegen_llvm/src/llvm/ffi.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ use rustc_target::spec::SymbolVisibility;
1212
use super::RustString;
1313
use super::debuginfo::{
1414
DIArray, DIBasicType, DIBuilder, DICompositeType, DIDerivedType, DIDescriptor, DIEnumerator,
15-
DIFile, DIFlags, DIGlobalVariableExpression, DILexicalBlock, DILocation, DISPFlags, DIScope,
16-
DISubprogram, DISubrange, DITemplateTypeParameter, DIType, DIVariable, DebugEmissionKind,
17-
DebugNameTableKind,
15+
DIFile, DIFlags, DIGlobalVariableExpression, DILocation, DISPFlags, DIScope, DISubprogram,
16+
DISubrange, DITemplateTypeParameter, DIType, DIVariable, DebugEmissionKind, DebugNameTableKind,
1817
};
1918
use crate::llvm;
2019

@@ -1648,6 +1647,13 @@ unsafe extern "C" {
16481647
Line: c_uint,
16491648
Column: c_uint,
16501649
) -> &'ll Metadata;
1650+
1651+
pub(crate) fn LLVMDIBuilderCreateLexicalBlockFile<'ll>(
1652+
Builder: &DIBuilder<'ll>,
1653+
Scope: &'ll Metadata,
1654+
File: &'ll Metadata,
1655+
Discriminator: c_uint, // (optional "DWARF path discriminator"; default is 0)
1656+
) -> &'ll Metadata;
16511657
}
16521658

16531659
#[link(name = "llvm-wrapper", kind = "static")]
@@ -2073,12 +2079,6 @@ unsafe extern "C" {
20732079
AlignInBits: u32,
20742080
) -> &'a DIDerivedType;
20752081

2076-
pub fn LLVMRustDIBuilderCreateLexicalBlockFile<'a>(
2077-
Builder: &DIBuilder<'a>,
2078-
Scope: &'a DIScope,
2079-
File: &'a DIFile,
2080-
) -> &'a DILexicalBlock;
2081-
20822082
pub fn LLVMRustDIBuilderCreateStaticVariable<'a>(
20832083
Builder: &DIBuilder<'a>,
20842084
Context: Option<&'a DIScope>,

compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,12 +1078,6 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticMemberType(
10781078
unwrap<llvm::ConstantInt>(val), llvm::dwarf::DW_TAG_member, AlignInBits));
10791079
}
10801080

1081-
extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateLexicalBlockFile(
1082-
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File) {
1083-
return wrap(Builder->createLexicalBlockFile(unwrapDI<DIDescriptor>(Scope),
1084-
unwrapDI<DIFile>(File)));
1085-
}
1086-
10871081
extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
10881082
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
10891083
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,

0 commit comments

Comments
 (0)