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:

Attachment: __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

Reply via email to