Skip to content

Commit

Permalink
Auto merge of #219 - Amanieu:sync_val_compare_and_swap, r=alexcrichton
Browse files Browse the repository at this point in the history
Fix argument order for __sync_val_compare_and_swap

Fixes rust-lang/rust#46822 (comment)
  • Loading branch information
bors committed Dec 23, 2017
2 parents 000d06a + e8ea848 commit 3a9ba44
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/arm_linux.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ unsafe fn atomic_rmw<T, F: Fn(u32) -> u32>(ptr: *mut T, f: F) -> u32 {
}

// Generic atomic compare-exchange operation
unsafe fn atomic_cmpxchg<T>(oldval: u32, newval: u32, ptr: *mut T) -> u32 {
unsafe fn atomic_cmpxchg<T>(ptr: *mut T, oldval: u32, newval: u32) -> u32 {
let aligned_ptr = align_ptr(ptr);
let (shift, mask) = get_shift_mask(ptr);

Expand Down Expand Up @@ -99,8 +99,8 @@ macro_rules! atomic_rmw {
macro_rules! atomic_cmpxchg {
($name:ident, $ty:ty) => {
#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
pub unsafe extern "C" fn $name(oldval: $ty, newval: $ty, ptr: *mut $ty) -> $ty {
atomic_cmpxchg(oldval as u32, newval as u32, ptr) as $ty
pub unsafe extern "C" fn $name(ptr: *mut $ty, oldval: $ty, newval: $ty) -> $ty {
atomic_cmpxchg(ptr, oldval as u32, newval as u32) as $ty
}
}
}
Expand Down

0 comments on commit 3a9ba44

Please sign in to comment.