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-08-05 13:38:15 +00:00
2012-05-18 10:01:31 +00:00
2012-09-02 22:23:23 +00:00
2012-02-07 09:27:07 +00:00
2012-04-22 16:58:14 +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
2012-01-17 20:22:10 +00:00
2012-03-28 12:11:54 +00:00
2010-02-16 19:39:50 +00:00
2012-05-19 12:44:27 +00:00
2012-01-07 10:33:01 +00:00
2010-02-16 19:39:50 +00:00
2012-06-05 19:42:57 +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:28:10 +00:00
2011-12-20 22:56:13 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:28:10 +00:00
2011-02-25 00:04:39 +00:00
2011-10-21 06:41:46 +00:00
2012-03-28 12:11:54 +00:00
2011-09-27 16:33:17 +00:00
2012-03-28 12:11:54 +00:00
2009-10-06 14:05:57 +00:00
2011-03-04 19:28:27 +00:00
2012-03-04 15:31:13 +00:00
2012-09-17 21:41:38 +00:00
2012-05-22 09:59:49 +00:00
2010-02-16 19:39:50 +00:00
2012-03-28 12:11:54 +00:00
2010-02-16 19:39:50 +00:00
2012-09-10 05:12:45 +00:00
2010-02-16 19:39:50 +00:00
2011-12-13 13:32:56 +00:00
2010-02-16 19:28:10 +00:00
2010-02-16 19:39:50 +00:00
2010-04-04 08:31:03 +00:00
2012-06-12 17:02:53 +00:00
2012-07-04 17:35:07 +00:00
2011-02-07 21:26:46 +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
2010-11-13 10:38:06 +00:00
2011-12-13 13:32:56 +00:00
2012-01-07 16:10:15 +00:00
2012-03-06 20:15:23 +00:00
2010-01-05 02:37:59 +00:00
2012-04-29 11:04:31 +00:00
2011-12-13 13:32:56 +00:00
2010-02-16 19:39:50 +00:00
2011-12-25 20:51:40 +00:00
2012-09-26 19:49:22 +00:00
2011-12-25 20:15:41 +00:00
2010-02-16 19:39:50 +00:00
2012-03-28 12:11:54 +00:00
2012-04-17 07:22:14 +00:00
2012-01-03 23:05:23 +00:00
2012-03-28 12:11:54 +00:00
2010-01-04 18:46:54 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2010-11-02 17:00:56 +00:00
2012-01-06 19:04:59 +00:00
2012-09-10 05:00:29 +00:00
2010-02-16 19:39:50 +00:00
2010-02-16 19:39:50 +00:00
2012-09-10 05:09:39 +00:00
2010-09-30 03:16:35 +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
2012-06-24 04:15:58 +00:00
2012-03-04 15:31:13 +00:00
2012-03-04 15:31:13 +00:00