Skip to content

Commit 26e97ec

Browse files
committed
Support breakpoint intrinsic
1 parent d6d0109 commit 26e97ec

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/shims/intrinsics.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,11 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
654654

655655
"try" => return this.handle_try(args, dest, ret),
656656

657+
"breakpoint" => {
658+
// normally this would raise a SIGTRAP, which aborts if no debugger is connected
659+
throw_machine_stop!(TerminationInfo::Abort("Trace/breakpoint trap".to_string()))
660+
}
661+
657662
name => throw_unsup_format!("unimplemented intrinsic: {}", name),
658663
}
659664

tests/compile-fail/breakpoint.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#![feature(core_intrinsics)]
2+
3+
fn main() {
4+
unsafe {
5+
core::intrinsics::breakpoint() //~ ERROR Trace/breakpoint trap
6+
};
7+
}

0 commit comments

Comments
 (0)