Lines Matching refs:object
348 * No native support for _Atomic(). Place object in structure to prevent
403 #define atomic_compare_exchange_strong_explicit(object, expected, \
405 __c11_atomic_compare_exchange_strong(object, expected, desired, \
407 #define atomic_compare_exchange_weak_explicit(object, expected, \
409 __c11_atomic_compare_exchange_weak(object, expected, desired, \
411 #define atomic_exchange_explicit(object, desired, order) \
412 __c11_atomic_exchange(object, desired, order)
413 #define atomic_fetch_add_explicit(object, operand, order) \
414 __c11_atomic_fetch_add(object, operand, order)
415 #define atomic_fetch_and_explicit(object, operand, order) \
416 __c11_atomic_fetch_and(object, operand, order)
417 #define atomic_fetch_or_explicit(object, operand, order) \
418 __c11_atomic_fetch_or(object, operand, order)
419 #define atomic_fetch_sub_explicit(object, operand, order) \
420 __c11_atomic_fetch_sub(object, operand, order)
421 #define atomic_fetch_xor_explicit(object, operand, order) \
422 __c11_atomic_fetch_xor(object, operand, order)
423 #define atomic_load_explicit(object, order) \
424 __c11_atomic_load(object, order)
425 #define atomic_store_explicit(object, desired, order) \
426 __c11_atomic_store(object, desired, order)
428 #define atomic_compare_exchange_strong_explicit(object, expected, \
430 __atomic_compare_exchange_n(&(object)->__val, expected, \
432 #define atomic_compare_exchange_weak_explicit(object, expected, \
434 __atomic_compare_exchange_n(&(object)->__val, expected, \
436 #define atomic_exchange_explicit(object, desired, order) \
437 __atomic_exchange_n(&(object)->__val, desired, order)
438 #define atomic_fetch_add_explicit(object, operand, order) \
439 __atomic_fetch_add(&(object)->__val, operand, order)
440 #define atomic_fetch_and_explicit(object, operand, order) \
441 __atomic_fetch_and(&(object)->__val, operand, order)
442 #define atomic_fetch_or_explicit(object, operand, order) \
443 __atomic_fetch_or(&(object)->__val, operand, order)
444 #define atomic_fetch_sub_explicit(object, operand, order) \
445 __atomic_fetch_sub(&(object)->__val, operand, order)
446 #define atomic_fetch_xor_explicit(object, operand, order) \
447 __atomic_fetch_xor(&(object)->__val, operand, order)
448 #define atomic_load_explicit(object, order) \
449 __atomic_load_n(&(object)->__val, order)
450 #define atomic_store_explicit(object, desired, order) \
451 __atomic_store_n(&(object)->__val, desired, order)
453 #define __atomic_apply_stride(object, operand) \
454 (((__typeof__((object)->__val))0) + (operand))
455 #define atomic_compare_exchange_strong_explicit(object, expected, \
460 (bool)((*__ep = __sync_val_compare_and_swap(&(object)->__val, \
463 #define atomic_compare_exchange_weak_explicit(object, expected, \
465 atomic_compare_exchange_strong_explicit(object, expected, \
469 #define atomic_exchange_explicit(object, desired, order) \
470 ((void)(order), __sync_swap(&(object)->__val, desired))
477 #define atomic_exchange_explicit(object, desired, order) \
479 __typeof__(object) __o = (object); \
486 #define atomic_fetch_add_explicit(object, operand, order) \
487 ((void)(order), __sync_fetch_and_add(&(object)->__val, \
488 object, operand)))
489 #define atomic_fetch_and_explicit(object, operand, order) \
490 ((void)(order), __sync_fetch_and_and(&(object)->__val, operand))
491 #define atomic_fetch_or_explicit(object, operand, order) \
492 ((void)(order), __sync_fetch_and_or(&(object)->__val, operand))
493 #define atomic_fetch_sub_explicit(object, operand, order) \
494 ((void)(order), __sync_fetch_and_sub(&(object)->__val, \
495 __atomic_apply_stride(object, operand)))
496 #define atomic_fetch_xor_explicit(object, operand, order) \
497 ((void)(order), __sync_fetch_and_xor(&(object)->__val, operand))
498 #define atomic_load_explicit(object, order) \
499 ((void)(order), __sync_fetch_and_add(&(object)->__val, 0))
500 #define atomic_store_explicit(object, desired, order) \
501 ((void)atomic_exchange_explicit(object, desired, order))
512 #define atomic_compare_exchange_strong(object, expected, desired) \
513 atomic_compare_exchange_strong_explicit(object, expected, \
515 #define atomic_compare_exchange_weak(object, expected, desired) \
516 atomic_compare_exchange_weak_explicit(object, expected, \
518 #define atomic_exchange(object, desired) \
519 atomic_exchange_explicit(object, desired, memory_order_seq_cst)
520 #define atomic_fetch_add(object, operand) \
521 atomic_fetch_add_explicit(object, operand, memory_order_seq_cst)
522 #define atomic_fetch_and(object, operand) \
523 atomic_fetch_and_explicit(object, operand, memory_order_seq_cst)
524 #define atomic_fetch_or(object, operand) \
525 atomic_fetch_or_explicit(object, operand, memory_order_seq_cst)
526 #define atomic_fetch_sub(object, operand) \
527 atomic_fetch_sub_explicit(object, operand, memory_order_seq_cst)
528 #define atomic_fetch_xor(object, operand) \
529 atomic_fetch_xor_explicit(object, operand, memory_order_seq_cst)
530 #define atomic_load(object) \
531 atomic_load_explicit(object, memory_order_seq_cst)
532 #define atomic_store(object, desired) \
533 atomic_store_explicit(object, desired, memory_order_seq_cst)