Skip to content

Commit 80515f7

Browse files
committed
rustc_codegen_ssa: don't treat inlined variables as debuginfo arguments.
1 parent bdd946d commit 80515f7

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

Diff for: src/librustc_codegen_ssa/mir/debuginfo.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,8 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
307307
let var_ty = self.monomorphized_place_ty(place.as_ref());
308308
let var_kind = if self.mir.local_kind(place.local) == mir::LocalKind::Arg
309309
&& place.projection.is_empty()
310+
&& var.source_info.scope == mir::OUTERMOST_SOURCE_SCOPE
310311
{
311-
// FIXME(eddyb, #67586) take `var.source_info.scope` into
312-
// account to avoid using `ArgumentVariable` more than once
313-
// per argument local.
314-
315312
let arg_index = place.local.index() - 1;
316313

317314
// FIXME(eddyb) shouldn't `ArgumentVariable` indices be
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// run-pass
2+
// compile-flags: -Z mir-opt-level=2 -C opt-level=0 -C debuginfo=2
3+
4+
#[inline(never)]
5+
pub fn foo(bar: usize) -> usize {
6+
std::convert::identity(bar)
7+
}
8+
9+
fn main() {
10+
foo(0);
11+
}

0 commit comments

Comments
 (0)