Artifact 309e66c1aeea96b984a1e22e230c9456b68e5b00430bac59f8490aeaae805d31:
- File
src/atomic.h
— part of check-in
[6b15bb229e]
at
2013-06-03 15:20:48
on branch trunk
— atomic.h: Fix several issues.
* of_atomic_cmpswap_*: Clobber eax by adding it as an (unused) output,
so the compiler resets eax (e.g. when used in a loop). (Adding it
to the input and clobber list is lot legal!)
* Don't dereference the pointer passed using "m"(*p) twice.
* Fix some code for ILP64 systems (it seems there is no architecture
using it, though, as it even contained syntax errors).
* Use __asm__ __volatile__ just to be sure.Thanks to Florian Zeitz for pointing out most of these issues! (user: js, size: 16407) [annotate] [blame] [check-ins using]
A hex dump of this file is not available. Please download the raw binary file and generate a hex dump yourself.