Skip to content

Commit

Permalink
Rollup merge of #110233 - nbdd0121:intrinsic, r=tmiasko
Browse files Browse the repository at this point in the history
Make rust-intrinsic ABI unwindable

Fix #104451, fix rust-lang/miri#2839

r? `@RalfJung`
  • Loading branch information
matthiaskrgr committed Apr 13, 2023
2 parents d55c6a7 + 38d1052 commit 9bf7d16
Show file tree
Hide file tree
Showing 4 changed files with 236 additions and 1 deletion.
3 changes: 3 additions & 0 deletions core/src/ffi/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -615,12 +615,15 @@ impl<'f> Drop for VaListImpl<'f> {
extern "rust-intrinsic" {
/// Destroy the arglist `ap` after initialization with `va_start` or
/// `va_copy`.
#[rustc_nounwind]
fn va_end(ap: &mut VaListImpl<'_>);

/// Copies the current location of arglist `src` to the arglist `dst`.
#[rustc_nounwind]
fn va_copy<'f>(dest: *mut VaListImpl<'f>, src: &VaListImpl<'f>);

/// Loads an argument of type `T` from the `va_list` `ap` and increment the
/// argument `ap` points to.
#[rustc_nounwind]
fn va_arg<T: sealed_trait::VaArgSafe>(ap: &mut VaListImpl<'_>) -> T;
}
Loading

0 comments on commit 9bf7d16

Please sign in to comment.