Skip to content

Commit

Permalink
nhwn: use plain u32 in DebugLoc
Browse files Browse the repository at this point in the history
  • Loading branch information
nhwn committed Feb 20, 2021
1 parent f5aa1bc commit 408d402
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 26 deletions.
6 changes: 3 additions & 3 deletions compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs
@@ -1,4 +1,4 @@
use super::metadata::{file_metadata, UNKNOWN_COLUMN_NUMBER, UNKNOWN_LINE_NUMBER};
use super::metadata::file_metadata;
use super::utils::DIB;
use rustc_codegen_ssa::mir::debuginfo::{DebugScope, FunctionDebugContext};
use rustc_codegen_ssa::traits::*;
Expand Down Expand Up @@ -102,8 +102,8 @@ fn make_mir_scope(
DIB(cx),
parent_scope.dbg_scope.unwrap(),
file_metadata,
loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
loc.col.map_or(UNKNOWN_COLUMN_NUMBER, |n| n.get()),
loc.line,
loc.col,
)
},
};
Expand Down
9 changes: 3 additions & 6 deletions compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs
Expand Up @@ -1839,10 +1839,7 @@ impl<'tcx> VariantInfo<'_, 'tcx> {
.span;
if !span.is_dummy() {
let loc = cx.lookup_debug_loc(span.lo());
return Some(SourceInfo {
file: file_metadata(cx, &loc.file),
line: loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
});
return Some(SourceInfo { file: file_metadata(cx, &loc.file), line: loc.line });
}
}
_ => {}
Expand Down Expand Up @@ -2481,7 +2478,7 @@ pub fn create_global_var_metadata(cx: &CodegenCx<'ll, '_>, def_id: DefId, global
let loc = cx.lookup_debug_loc(span.lo());
(file_metadata(cx, &loc.file), loc.line)
} else {
(unknown_file_metadata(cx), None)
(unknown_file_metadata(cx), UNKNOWN_LINE_NUMBER)
};

let is_local_to_unit = is_node_local_to_unit(cx, def_id);
Expand All @@ -2504,7 +2501,7 @@ pub fn create_global_var_metadata(cx: &CodegenCx<'ll, '_>, def_id: DefId, global
linkage_name.as_ptr().cast(),
linkage_name.len(),
file_metadata,
line_number.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
line_number,
type_metadata,
is_local_to_unit,
global,
Expand Down
26 changes: 9 additions & 17 deletions compiler/rustc_codegen_llvm/src/debuginfo/mod.rs
Expand Up @@ -38,7 +38,6 @@ use rustc_target::abi::{LayoutOf, Primitive, Size};
use libc::c_uint;
use smallvec::SmallVec;
use std::cell::RefCell;
use std::num::NonZeroU32;
use tracing::debug;

mod create_scope_map;
Expand Down Expand Up @@ -225,9 +224,9 @@ pub struct DebugLoc {
/// Information about the original source file.
pub file: Lrc<SourceFile>,
/// The (1-based) line number.
pub line: Option<NonZeroU32>,
pub line: u32,
/// The (1-based) column number.
pub col: Option<NonZeroU32>,
pub col: u32,
}

impl CodegenCx<'ll, '_> {
Expand All @@ -244,16 +243,16 @@ impl CodegenCx<'ll, '_> {
let line = (line + 1) as u32;
let col = (pos - line_pos).to_u32() + 1;

(file, NonZeroU32::new(line), NonZeroU32::new(col))
(file, line, col)
}
Err(file) => (file, None, None),
Err(file) => (file, UNKNOWN_LINE_NUMBER, UNKNOWN_COLUMN_NUMBER),
};

// For MSVC, omit the column number.
// Otherwise, emit it. This mimics clang behaviour.
// See discussion in https://github.com/rust-lang/rust/issues/42921
if self.sess().target.is_like_msvc {
DebugLoc { file, line, col: None }
DebugLoc { file, line, col: UNKNOWN_COLUMN_NUMBER }
} else {
DebugLoc { file, line, col }
}
Expand Down Expand Up @@ -359,9 +358,9 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> {
linkage_name.as_ptr().cast(),
linkage_name.len(),
file_metadata,
loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
loc.line,
function_type_metadata,
scope_line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
scope_line,
flags,
spflags,
maybe_definition_llfn,
Expand Down Expand Up @@ -551,14 +550,7 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> {
) -> &'ll DILocation {
let DebugLoc { line, col, .. } = self.lookup_debug_loc(span.lo());

unsafe {
llvm::LLVMRustDIBuilderCreateDebugLocation(
line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
col.map_or(UNKNOWN_COLUMN_NUMBER, |n| n.get()),
scope,
inlined_at,
)
}
unsafe { llvm::LLVMRustDIBuilderCreateDebugLocation(line, col, scope, inlined_at) }
}

fn create_vtable_metadata(&self, ty: Ty<'tcx>, vtable: Self::Value) {
Expand Down Expand Up @@ -607,7 +599,7 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> {
name.as_ptr().cast(),
name.len(),
file_metadata,
loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
loc.line,
type_metadata,
true,
DIFlags::FlagZero,
Expand Down

0 comments on commit 408d402

Please sign in to comment.