#ifdef UATOMIC_HAS_ATOMIC_BYTE
case 1:
__sync_and_and_fetch_1(addr, val);
+ return;
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
case 2:
__sync_and_and_fetch_2(addr, val);
+ return;
#endif
case 4:
__sync_and_and_fetch_4(addr, val);
+ return;
#if (CAA_BITS_PER_LONG == 64)
case 8:
__sync_and_and_fetch_8(addr, val);
+ return;
#endif
}
_uatomic_link_error();
- return 0;
}
#define uatomic_and(addr, v) \
#ifdef UATOMIC_HAS_ATOMIC_BYTE
case 1:
__sync_or_and_fetch_1(addr, val);
+ return;
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
case 2:
__sync_or_and_fetch_2(addr, val);
+ return;
#endif
case 4:
__sync_or_and_fetch_4(addr, val);
+ return;
#if (CAA_BITS_PER_LONG == 64)
case 8:
__sync_or_and_fetch_8(addr, val);
+ return;
#endif
}
_uatomic_link_error();
- return 0;
+ return;
}
#define uatomic_or(addr, v) \
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 1);
} while (oldt != old);
+
+ return;
}
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 4);
} while (oldt != old);
+
+ return;
}
#if (CAA_BITS_PER_LONG == 64)
case 8:
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 8);
} while (oldt != old);
+
+ return;
}
#endif
}
_uatomic_link_error();
- return 0;
}
#define uatomic_and(addr, v) \
- (uatomic_and((addr), \
+ (_uatomic_and((addr), \
(unsigned long)(v), \
sizeof(*(addr))))
#endif /* #ifndef uatomic_and */
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 1);
} while (oldt != old);
+
+ return;
}
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 2);
} while (oldt != old);
+
+ return;
}
#endif
case 4:
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 4);
} while (oldt != old);
+
+ return;
}
#if (CAA_BITS_PER_LONG == 64)
case 8:
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 8);
} while (oldt != old);
+
+ return;
}
#endif
}
_uatomic_link_error();
- return 0;
}
#define uatomic_or(addr, v) \
- (uatomic_or((addr), \
- (unsigned long)(v), \
- sizeof(*(addr))))
+ (_uatomic_or((addr), \
+ (unsigned long)(v),\
+ sizeof(*(addr))))
#endif /* #ifndef uatomic_or */
#ifndef uatomic_add_return