diff --git a/src/closure.rs b/src/closure.rs index d5107c34ec9..c9ad5a5aabc 100644 --- a/src/closure.rs +++ b/src/closure.rs @@ -599,7 +599,7 @@ macro_rules! doit { inform(invoke::<$($var,)* R> as usize as u32); - unsafe extern fn destroy<$($var: FromWasmAbi,)* R: ReturnWasmAbi>( + unsafe extern "C" fn destroy<$($var: FromWasmAbi,)* R: ReturnWasmAbi>( a: usize, b: usize, ) { @@ -660,7 +660,7 @@ macro_rules! doit { inform(invoke::<$($var,)* R> as usize as u32); - unsafe extern fn destroy<$($var: FromWasmAbi,)* R: ReturnWasmAbi>( + unsafe extern "C" fn destroy<$($var: FromWasmAbi,)* R: ReturnWasmAbi>( a: usize, b: usize, ) { diff --git a/src/convert/impls.rs b/src/convert/impls.rs index 44bd846f683..5cecbf69ca2 100644 --- a/src/convert/impls.rs +++ b/src/convert/impls.rs @@ -44,7 +44,7 @@ impl WasmAbi for i128 { #[inline] fn join(low: u64, high: u64, _: (), _: ()) -> Self { - ((high as u128) << 64 | low as u128) as i128 + (((high as u128) << 64) | low as u128) as i128 } } impl WasmAbi for u128 { @@ -62,7 +62,7 @@ impl WasmAbi for u128 { #[inline] fn join(low: u64, high: u64, _: (), _: ()) -> Self { - (high as u128) << 64 | low as u128 + ((high as u128) << 64) | low as u128 } } diff --git a/src/lib.rs b/src/lib.rs index 0c81941bc39..007362c5b5b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -84,7 +84,7 @@ macro_rules! externs { $( #[cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none"))))] #[allow(unused_variables)] - unsafe extern fn $name($($args)*) -> $ret { + unsafe extern "C" fn $name($($args)*) -> $ret { panic!("function not implemented on non-wasm32 targets") } )*