Skip to content

Commit 94a7e6e

Browse files
committed
Use LLVMDIBuilderCreateLexicalBlockFile
1 parent b0b0fa7 commit 94a7e6e

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

@@ -1640,6 +1639,13 @@ unsafe extern "C" {
16401639
Line: c_uint,
16411640
Column: c_uint,
16421641
) -> &'ll Metadata;
1642+
1643+
pub(crate) fn LLVMDIBuilderCreateLexicalBlockFile<'ll>(
1644+
Builder: &DIBuilder<'ll>,
1645+
Scope: &'ll Metadata,
1646+
File: &'ll Metadata,
1647+
Discriminator: c_uint, // (optional "DWARF path discriminator"; default is 0)
1648+
) -> &'ll Metadata;
16431649
}
16441650

16451651
#[link(name = "llvm-wrapper", kind = "static")]
@@ -2065,12 +2071,6 @@ unsafe extern "C" {
20652071
AlignInBits: u32,
20662072
) -> &'a DIDerivedType;
20672073

2068-
pub fn LLVMRustDIBuilderCreateLexicalBlockFile<'a>(
2069-
Builder: &DIBuilder<'a>,
2070-
Scope: &'a DIScope,
2071-
File: &'a DIFile,
2072-
) -> &'a DILexicalBlock;
2073-
20742074
pub fn LLVMRustDIBuilderCreateStaticVariable<'a>(
20752075
Builder: &DIBuilder<'a>,
20762076
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
@@ -1155,12 +1155,6 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticMemberType(
11551155
unwrap<llvm::ConstantInt>(val), llvm::dwarf::DW_TAG_member, AlignInBits));
11561156
}
11571157

1158-
extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateLexicalBlockFile(
1159-
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File) {
1160-
return wrap(Builder->createLexicalBlockFile(unwrapDI<DIDescriptor>(Scope),
1161-
unwrapDI<DIFile>(File)));
1162-
}
1163-
11641158
extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
11651159
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name,
11661160
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,

0 commit comments

Comments
 (0)