tijl 0d4a7769ee - Make C11 atomic macros usable in expressions:
- Replace do-while statements with void expressions.
  - Wrap __asm statements in statement expressions.
- Make the macros function-like:
  - Evaluate all arguments exactly once.
  - Make sure there's a sequence point between evaluation of the arguments
    and the function body. Arguments should be evaluated before any memory
    barriers.
- Fix use of __atomic_is_lock_free built-in. It requires the address of
  an atomic variable as second argument. Use this built-in on clang as
  well because clang's __c11_atomic_is_lock_free only takes the size of the
  variable into account.
- In atomic_exchange_explicit put the barrier before instead of after the
  __sync_lock_test_and_set call.

Reviewed by:	theraven
2012-09-26 19:49:22 +00:00
..
2012-01-07 16:10:15 +00:00
2012-09-02 22:23:23 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2011-12-29 14:41:17 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2011-12-20 22:56:13 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2011-01-06 03:30:16 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2012-01-07 16:10:15 +00:00
2010-02-16 19:39:50 +00:00
2011-12-25 20:15:41 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-01-13 17:29:55 +00:00
2010-02-16 19:39:50 +00:00