nhwn: use Option<NonZeroU32> in DebugLoc
This commit is contained in:
parent
0148b971c9
commit
f5aa1bceb9
@ -102,8 +102,8 @@ fn make_mir_scope(
|
|||||||
DIB(cx),
|
DIB(cx),
|
||||||
parent_scope.dbg_scope.unwrap(),
|
parent_scope.dbg_scope.unwrap(),
|
||||||
file_metadata,
|
file_metadata,
|
||||||
loc.line.unwrap_or(UNKNOWN_LINE_NUMBER),
|
loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
loc.col.unwrap_or(UNKNOWN_COLUMN_NUMBER),
|
loc.col.map_or(UNKNOWN_COLUMN_NUMBER, |n| n.get()),
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1841,7 +1841,7 @@ fn source_info(&self, cx: &CodegenCx<'ll, 'tcx>) -> Option<SourceInfo<'ll>> {
|
|||||||
let loc = cx.lookup_debug_loc(span.lo());
|
let loc = cx.lookup_debug_loc(span.lo());
|
||||||
return Some(SourceInfo {
|
return Some(SourceInfo {
|
||||||
file: file_metadata(cx, &loc.file),
|
file: file_metadata(cx, &loc.file),
|
||||||
line: loc.line.unwrap_or(UNKNOWN_LINE_NUMBER),
|
line: loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2504,7 +2504,7 @@ pub fn create_global_var_metadata(cx: &CodegenCx<'ll, '_>, def_id: DefId, global
|
|||||||
linkage_name.as_ptr().cast(),
|
linkage_name.as_ptr().cast(),
|
||||||
linkage_name.len(),
|
linkage_name.len(),
|
||||||
file_metadata,
|
file_metadata,
|
||||||
line_number.unwrap_or(UNKNOWN_LINE_NUMBER),
|
line_number.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
type_metadata,
|
type_metadata,
|
||||||
is_local_to_unit,
|
is_local_to_unit,
|
||||||
global,
|
global,
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
use libc::c_uint;
|
use libc::c_uint;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
|
use std::num::NonZeroU32;
|
||||||
use tracing::debug;
|
use tracing::debug;
|
||||||
|
|
||||||
mod create_scope_map;
|
mod create_scope_map;
|
||||||
@ -224,9 +225,9 @@ pub struct DebugLoc {
|
|||||||
/// Information about the original source file.
|
/// Information about the original source file.
|
||||||
pub file: Lrc<SourceFile>,
|
pub file: Lrc<SourceFile>,
|
||||||
/// The (1-based) line number.
|
/// The (1-based) line number.
|
||||||
pub line: Option<u32>,
|
pub line: Option<NonZeroU32>,
|
||||||
/// The (1-based) column number.
|
/// The (1-based) column number.
|
||||||
pub col: Option<u32>,
|
pub col: Option<NonZeroU32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CodegenCx<'ll, '_> {
|
impl CodegenCx<'ll, '_> {
|
||||||
@ -243,7 +244,7 @@ pub fn lookup_debug_loc(&self, pos: BytePos) -> DebugLoc {
|
|||||||
let line = (line + 1) as u32;
|
let line = (line + 1) as u32;
|
||||||
let col = (pos - line_pos).to_u32() + 1;
|
let col = (pos - line_pos).to_u32() + 1;
|
||||||
|
|
||||||
(file, Some(line), Some(col))
|
(file, NonZeroU32::new(line), NonZeroU32::new(col))
|
||||||
}
|
}
|
||||||
Err(file) => (file, None, None),
|
Err(file) => (file, None, None),
|
||||||
};
|
};
|
||||||
@ -358,9 +359,9 @@ fn dbg_scope_fn(
|
|||||||
linkage_name.as_ptr().cast(),
|
linkage_name.as_ptr().cast(),
|
||||||
linkage_name.len(),
|
linkage_name.len(),
|
||||||
file_metadata,
|
file_metadata,
|
||||||
loc.line.unwrap_or(UNKNOWN_LINE_NUMBER),
|
loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
function_type_metadata,
|
function_type_metadata,
|
||||||
scope_line.unwrap_or(UNKNOWN_LINE_NUMBER),
|
scope_line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
flags,
|
flags,
|
||||||
spflags,
|
spflags,
|
||||||
maybe_definition_llfn,
|
maybe_definition_llfn,
|
||||||
@ -552,8 +553,8 @@ fn dbg_loc(
|
|||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
llvm::LLVMRustDIBuilderCreateDebugLocation(
|
llvm::LLVMRustDIBuilderCreateDebugLocation(
|
||||||
line.unwrap_or(UNKNOWN_LINE_NUMBER),
|
line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
col.unwrap_or(UNKNOWN_COLUMN_NUMBER),
|
col.map_or(UNKNOWN_COLUMN_NUMBER, |n| n.get()),
|
||||||
scope,
|
scope,
|
||||||
inlined_at,
|
inlined_at,
|
||||||
)
|
)
|
||||||
@ -606,7 +607,7 @@ fn create_dbg_var(
|
|||||||
name.as_ptr().cast(),
|
name.as_ptr().cast(),
|
||||||
name.len(),
|
name.len(),
|
||||||
file_metadata,
|
file_metadata,
|
||||||
loc.line.unwrap_or(UNKNOWN_LINE_NUMBER),
|
loc.line.map_or(UNKNOWN_LINE_NUMBER, |n| n.get()),
|
||||||
type_metadata,
|
type_metadata,
|
||||||
true,
|
true,
|
||||||
DIFlags::FlagZero,
|
DIFlags::FlagZero,
|
||||||
|
Loading…
Reference in New Issue
Block a user