Lines Matching refs:object
342 * No native support for _Atomic(). Place object in structure to prevent
397 #define atomic_compare_exchange_strong_explicit(object, expected, \
399 __c11_atomic_compare_exchange_strong(object, expected, desired, \
401 #define atomic_compare_exchange_weak_explicit(object, expected, \
403 __c11_atomic_compare_exchange_weak(object, expected, desired, \
405 #define atomic_exchange_explicit(object, desired, order) \
406 __c11_atomic_exchange(object, desired, order)
407 #define atomic_fetch_add_explicit(object, operand, order) \
408 __c11_atomic_fetch_add(object, operand, order)
409 #define atomic_fetch_and_explicit(object, operand, order) \
410 __c11_atomic_fetch_and(object, operand, order)
411 #define atomic_fetch_or_explicit(object, operand, order) \
412 __c11_atomic_fetch_or(object, operand, order)
413 #define atomic_fetch_sub_explicit(object, operand, order) \
414 __c11_atomic_fetch_sub(object, operand, order)
415 #define atomic_fetch_xor_explicit(object, operand, order) \
416 __c11_atomic_fetch_xor(object, operand, order)
417 #define atomic_load_explicit(object, order) \
418 __c11_atomic_load(object, order)
419 #define atomic_store_explicit(object, desired, order) \
420 __c11_atomic_store(object, desired, order)
422 #define atomic_compare_exchange_strong_explicit(object, expected, \
424 __atomic_compare_exchange_n(&(object)->__val, expected, \
426 #define atomic_compare_exchange_weak_explicit(object, expected, \
428 __atomic_compare_exchange_n(&(object)->__val, expected, \
430 #define atomic_exchange_explicit(object, desired, order) \
431 __atomic_exchange_n(&(object)->__val, desired, order)
432 #define atomic_fetch_add_explicit(object, operand, order) \
433 __atomic_fetch_add(&(object)->__val, operand, order)
434 #define atomic_fetch_and_explicit(object, operand, order) \
435 __atomic_fetch_and(&(object)->__val, operand, order)
436 #define atomic_fetch_or_explicit(object, operand, order) \
437 __atomic_fetch_or(&(object)->__val, operand, order)
438 #define atomic_fetch_sub_explicit(object, operand, order) \
439 __atomic_fetch_sub(&(object)->__val, operand, order)
440 #define atomic_fetch_xor_explicit(object, operand, order) \
441 __atomic_fetch_xor(&(object)->__val, operand, order)
442 #define atomic_load_explicit(object, order) \
443 __atomic_load_n(&(object)->__val, order)
444 #define atomic_store_explicit(object, desired, order) \
445 __atomic_store_n(&(object)->__val, desired, order)
447 #define __atomic_apply_stride(object, operand) \
448 (((__typeof__((object)->__val))0) + (operand))
449 #define atomic_compare_exchange_strong_explicit(object, expected, \
454 (bool)((*__ep = __sync_val_compare_and_swap(&(object)->__val, \
457 #define atomic_compare_exchange_weak_explicit(object, expected, \
459 atomic_compare_exchange_strong_explicit(object, expected, \
463 #define atomic_exchange_explicit(object, desired, order) \
464 ((void)(order), __sync_swap(&(object)->__val, desired))
471 #define atomic_exchange_explicit(object, desired, order) \
473 __typeof__(object) __o = (object); \
480 #define atomic_fetch_add_explicit(object, operand, order) \
481 ((void)(order), __sync_fetch_and_add(&(object)->__val, \
482 __atomic_apply_stride(object, operand)))
483 #define atomic_fetch_and_explicit(object, operand, order) \
484 ((void)(order), __sync_fetch_and_and(&(object)->__val, operand))
485 #define atomic_fetch_or_explicit(object, operand, order) \
486 ((void)(order), __sync_fetch_and_or(&(object)->__val, operand))
487 #define atomic_fetch_sub_explicit(object
488 ((void)(order), __sync_fetch_and_sub(&(object)->__val, \
489 __atomic_apply_stride(object, operand)))
490 #define atomic_fetch_xor_explicit(object, operand, order) \
491 ((void)(order), __sync_fetch_and_xor(&(object)->__val, operand))
492 #define atomic_load_explicit(object, order) \
493 ((void)(order), __sync_fetch_and_add(&(object)->__val, 0))
494 #define atomic_store_explicit(object, desired, order) \
495 ((void)atomic_exchange_explicit(object, desired, order))
506 #define atomic_compare_exchange_strong(object, expected, desired) \
507 atomic_compare_exchange_strong_explicit(object, expected, \
509 #define atomic_compare_exchange_weak(object, expected, desired) \
510 atomic_compare_exchange_weak_explicit(object, expected, \
512 #define atomic_exchange(object, desired) \
513 atomic_exchange_explicit(object, desired, memory_order_seq_cst)
514 #define atomic_fetch_add(object, operand) \
515 atomic_fetch_add_explicit(object, operand, memory_order_seq_cst)
516 #define atomic_fetch_and(object, operand) \
517 atomic_fetch_and_explicit(object, operand, memory_order_seq_cst)
518 #define atomic_fetch_or(object, operand) \
519 atomic_fetch_or_explicit(object, operand, memory_order_seq_cst)
520 #define atomic_fetch_sub(object, operand) \
521 atomic_fetch_sub_explicit(object, operand, memory_order_seq_cst)
522 #define atomic_fetch_xor(object, operand) \
523 atomic_fetch_xor_explicit(object, operand, memory_order_seq_cst)
524 #define atomic_load(object) \
525 atomic_load_explicit(object, memory_order_seq_cst)
526 #define atomic_store(object, desired) \
527 atomic_store_explicit(object, desired, memory_order_seq_cst)