about summary refs log tree commit diff
path: root/src/rustllvm/CoverageMappingWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-08-08 00:00:52 +0000
committerbors <bors@rust-lang.org>2020-08-08 00:00:52 +0000
commitf3a9de9b08659e20ce7c282ed77bc43ddd149107 (patch)
tree09288128bb819336b9043105d0df45660071ebb5 /src/rustllvm/CoverageMappingWrapper.cpp
parentc2d1b0d9800d922b0451921d2ce17e6ae665d5b4 (diff)
parent5792840bf52e4cf77ebb7b3bd93e9c90dd23f4e7 (diff)
downloadrust-f3a9de9b08659e20ce7c282ed77bc43ddd149107.tar.gz
rust-f3a9de9b08659e20ce7c282ed77bc43ddd149107.zip
Auto merge of #75048 - eggyal:force-no-tco-start-backtrace-frame, r=Mark-Simulacrum
Prevent `__rust_begin_short_backtrace` frames from being tail-call optimised away

I've stumbled across some situations where there (unexpectedly) was no `__rust_begin_short_backtrace` frame on the stack during unwinding.

On closer examination, it appeared that the calls to that function had been tail-call optimised away.

This PR follows [@bjorn3's suggestion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Disabling.20tail.20call.20optimisation.3F/near/205699133), by adding calls to `black_box` that hint to rustc not to perform TCO.

Fixes #47429
Diffstat (limited to 'src/rustllvm/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions