Skip to content

Commit cdaf96e

Browse files
committed
Use LLVMDIBuilderCreateLexicalBlockFile
1 parent 8727d80 commit cdaf96e

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
@@ -1629,7 +1629,14 @@ pub(crate) fn extend_scope_to_file<'ll>(
16291629
file: &SourceFile,
16301630
) -> &'ll DILexicalBlock {
16311631
let file_metadata = file_metadata(cx, file);
1632-
unsafe { llvm::LLVMRustDIBuilderCreateLexicalBlockFile(DIB(cx), scope_metadata, file_metadata) }
1632+
unsafe {
1633+
llvm::LLVMDIBuilderCreateLexicalBlockFile(
1634+
DIB(cx),
1635+
scope_metadata,
1636+
file_metadata,
1637+
/* Discriminator (default) */ 0u32,
1638+
)
1639+
}
16331640
}
16341641

16351642
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

@@ -1650,6 +1649,13 @@ unsafe extern "C" {
16501649
Line: c_uint,
16511650
Column: c_uint,
16521651
) -> &'ll Metadata;
1652+
1653+
pub(crate) fn LLVMDIBuilderCreateLexicalBlockFile<'ll>(
1654+
Builder: &DIBuilder<'ll>,
1655+
Scope: &'ll Metadata,
1656+
File: &'ll Metadata,
1657+
Discriminator: c_uint, // (optional "DWARF path discriminator"; default is 0)
1658+
) -> &'ll Metadata;
16531659
}
16541660

16551661
#[link(name = "llvm-wrapper", kind = "static")]
@@ -2075,12 +2081,6 @@ unsafe extern "C" {
20752081
AlignInBits: u32,
20762082
) -> &'a DIDerivedType;
20772083

2078-
pub fn LLVMRustDIBuilderCreateLexicalBlockFile<'a>(
2079-
Builder: &DIBuilder<'a>,
2080-
Scope: &'a DIScope,
2081-
File: &'a DIFile,
2082-
) -> &'a DILexicalBlock;
2083-
20842084
pub fn LLVMRustDIBuilderCreateStaticVariable<'a>(
20852085
Builder: &DIBuilder<'a>,
20862086
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)