relibc: fix feupdateenv unsafe fn calls (Rust 2024 edition)
This commit is contained in:
@@ -33,4 +33,4 @@ pub struct fenv_t { pub mxcsr: u32, pub x87_cw: u16, pub x87_sw: u16, _pad: [u64
|
||||
#[unsafe(no_mangle)] pub unsafe extern "C" fn fesetexceptflag(fp: *const fexcept_t, e: c_int) -> c_int { if fp.is_null(){return -1} let f=unsafe{*fp as u32&0x3F};let m=e as u32&0x3F;mxcsr_wr((mxcsr_rd()&!m)|(f&m));0 }
|
||||
#[unsafe(no_mangle)] pub unsafe extern "C" fn fesetround(r: c_int) -> c_int { if r!=FE_TONEAREST&&r!=FE_DOWNWARD&&r!=FE_UPWARD&&r!=FE_TOWARDZERO{return -1} mxcsr_wr((mxcsr_rd()&!0x6000)|((r as u32)&0x6000));cw_wr((cw_rd()&!0x0C00)|(((r as u16)>>6)&0x0C00));0 }
|
||||
#[unsafe(no_mangle)] pub unsafe extern "C" fn fetestexcept(e: c_int) -> c_int { ((mxcsr_rd()|sw_rd() as u32)&e as u32)as c_int }
|
||||
#[unsafe(no_mangle)] pub unsafe extern "C" fn feupdateenv(ep: *const fenv_t) -> c_int { if ep.is_null(){return -1} let c=fetestexcept(FE_ALL_EXCEPT);fesetenv(ep);feraiseexcept(c);0 }
|
||||
#[unsafe(no_mangle)] pub unsafe extern "C" fn feupdateenv(ep: *const fenv_t) -> c_int { if ep.is_null(){return -1} let c=unsafe{fetestexcept(FE_ALL_EXCEPT)};unsafe{fesetenv(ep)};unsafe{feraiseexcept(c)};0 }
|
||||
|
||||
Reference in New Issue
Block a user