|
54 | 54 | )] |
55 | 55 | #![allow(missing_docs)] |
56 | 56 |
|
57 | | -<<<<<<< HEAD |
58 | 57 | use safety::{ensures, requires}; |
59 | 58 |
|
| 59 | +use crate::ffi::va_list::{VaArgSafe, VaListImpl}; |
60 | 60 | #[cfg(kani)] |
61 | 61 | use crate::kani; |
62 | | -======= |
63 | | -use crate::ffi::va_list::{VaArgSafe, VaListImpl}; |
64 | | ->>>>>>> subtree/library |
65 | 62 | use crate::marker::{ConstParamTy, DiscriminantKind, PointeeSized, Tuple}; |
66 | 63 | use crate::ptr; |
67 | 64 | #[cfg(kani)] |
@@ -3226,7 +3223,28 @@ pub(crate) const fn miri_promise_symbolic_alignment(ptr: *const (), align: usize |
3226 | 3223 | ) |
3227 | 3224 | } |
3228 | 3225 |
|
3229 | | -<<<<<<< HEAD |
| 3226 | +/// Copies the current location of arglist `src` to the arglist `dst`. |
| 3227 | +/// |
| 3228 | +/// FIXME: document safety requirements |
| 3229 | +#[rustc_intrinsic] |
| 3230 | +#[rustc_nounwind] |
| 3231 | +pub unsafe fn va_copy<'f>(dest: *mut VaListImpl<'f>, src: &VaListImpl<'f>); |
| 3232 | + |
| 3233 | +/// Loads an argument of type `T` from the `va_list` `ap` and increment the |
| 3234 | +/// argument `ap` points to. |
| 3235 | +/// |
| 3236 | +/// FIXME: document safety requirements |
| 3237 | +#[rustc_intrinsic] |
| 3238 | +#[rustc_nounwind] |
| 3239 | +pub unsafe fn va_arg<T: VaArgSafe>(ap: &mut VaListImpl<'_>) -> T; |
| 3240 | + |
| 3241 | +/// Destroy the arglist `ap` after initialization with `va_start` or `va_copy`. |
| 3242 | +/// |
| 3243 | +/// FIXME: document safety requirements |
| 3244 | +#[rustc_intrinsic] |
| 3245 | +#[rustc_nounwind] |
| 3246 | +pub unsafe fn va_end(ap: &mut VaListImpl<'_>); |
| 3247 | + |
3230 | 3248 | #[cfg(kani)] |
3231 | 3249 | #[unstable(feature = "kani", issue = "none")] |
3232 | 3250 | mod verify { |
@@ -3908,26 +3926,3 @@ mod verify { |
3908 | 3926 | status != AllocationStatus::Dangling && status != AllocationStatus::DeadObject |
3909 | 3927 | } |
3910 | 3928 | } |
3911 | | -======= |
3912 | | -/// Copies the current location of arglist `src` to the arglist `dst`. |
3913 | | -/// |
3914 | | -/// FIXME: document safety requirements |
3915 | | -#[rustc_intrinsic] |
3916 | | -#[rustc_nounwind] |
3917 | | -pub unsafe fn va_copy<'f>(dest: *mut VaListImpl<'f>, src: &VaListImpl<'f>); |
3918 | | - |
3919 | | -/// Loads an argument of type `T` from the `va_list` `ap` and increment the |
3920 | | -/// argument `ap` points to. |
3921 | | -/// |
3922 | | -/// FIXME: document safety requirements |
3923 | | -#[rustc_intrinsic] |
3924 | | -#[rustc_nounwind] |
3925 | | -pub unsafe fn va_arg<T: VaArgSafe>(ap: &mut VaListImpl<'_>) -> T; |
3926 | | - |
3927 | | -/// Destroy the arglist `ap` after initialization with `va_start` or `va_copy`. |
3928 | | -/// |
3929 | | -/// FIXME: document safety requirements |
3930 | | -#[rustc_intrinsic] |
3931 | | -#[rustc_nounwind] |
3932 | | -pub unsafe fn va_end(ap: &mut VaListImpl<'_>); |
3933 | | ->>>>>>> subtree/library |
0 commit comments