Avoid the "bool" flavor of compare-and-swap primitives: clang 3.5.0 produces bad code.