Background: The __sync_*() atomic intrinsics do not directly expose the fundamental atomic swap operation that many processors support. One can indirectly get at the instruction by using __sync_lock_test_and_set(), but the documentation for that intrinsic does not promise to be an atomic swap on all architectures or even be a full barrier like the other __sync_*() intrinsics. This patch fixes this oversight:
__sync_swap.patch
Description: Binary data
This is my first clang patch, so please be understanding if I made any newbie mistakes. Thanks for considering this change, davez
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
