%PDF- %PDF-
Direktori : /backups/router/usr/local/lib/perl5/site_perl/mach/5.36/sys/ |
Current File : //backups/router/usr/local/lib/perl5/site_perl/mach/5.36/sys/atomic_san.ph |
require '_h2ph_pre.ph'; no warnings qw(redefine misc); unless(defined(&_SYS_ATOMIC_SAN_H_)) { eval 'sub _SYS_ATOMIC_SAN_H_ () {1;}' unless defined(&_SYS_ATOMIC_SAN_H_); unless(defined(&_MACHINE_ATOMIC_H_)) { die("do\ not\ include\ this\ header\,\ use\ machine\/atomic\.h"); } require 'sys/types.ph'; eval 'sub ATOMIC_SAN_FUNC_1 { my($sp, $op, $name, $type) = @_; eval q( &void $sp &_atomic_$op &_$name( &volatile $type *, $type); &void $sp &_atomic_$op &_acq_$name( &volatile $type *, $type); &void $sp &_atomic_$op &_rel_$name( &volatile $type *, $type)); }' unless defined(&ATOMIC_SAN_FUNC_1); eval 'sub ATOMIC_SAN_CMPSET { my($sp, $name, $type) = @_; eval q(\'int\' $sp &_atomic_cmpset_$name( &volatile $type *, $type, $type); \'int\' $sp &_atomic_cmpset_acq_$name( &volatile $type *, $type, $type); \'int\' $sp &_atomic_cmpset_rel_$name( &volatile $type *, $type, $type)); }' unless defined(&ATOMIC_SAN_CMPSET); eval 'sub ATOMIC_SAN_FCMPSET { my($sp, $name, $type) = @_; eval q(\'int\' $sp &_atomic_fcmpset_$name( &volatile $type *, $type *, $type); \'int\' $sp &_atomic_fcmpset_acq_$name( &volatile $type *, $type *, $type); \'int\' $sp &_atomic_fcmpset_rel_$name( &volatile $type *, $type *, $type)); }' unless defined(&ATOMIC_SAN_FCMPSET); eval 'sub ATOMIC_SAN_READ { my($sp, $op, $name, $type) = @_; eval q($type $sp &_atomic_$op &_$name( &volatile $type *, $type)); }' unless defined(&ATOMIC_SAN_READ); eval 'sub ATOMIC_SAN_READANDCLEAR { my($sp, $name, $type) = @_; eval q($type $sp &_atomic_readandclear_$name( &volatile $type *)); }' unless defined(&ATOMIC_SAN_READANDCLEAR); eval 'sub ATOMIC_SAN_LOAD { my($sp, $name, $type) = @_; eval q($type $sp &_atomic_load_$name( &volatile $type *)); }' unless defined(&ATOMIC_SAN_LOAD); eval 'sub ATOMIC_SAN_LOAD_ACQ { my($sp, $name, $type) = @_; eval q($type $sp &_atomic_load_acq_$name( &volatile $type *)); }' unless defined(&ATOMIC_SAN_LOAD_ACQ); eval 'sub ATOMIC_SAN_STORE { my($sp, $name, $type) = @_; eval q( &void $sp &_atomic_store_$name( &volatile $type *, $type)); }' unless defined(&ATOMIC_SAN_STORE); eval 'sub ATOMIC_SAN_STORE_REL { my($sp, $name, $type) = @_; eval q( &void $sp &_atomic_store_rel_$name( &volatile $type *, $type)); }' unless defined(&ATOMIC_SAN_STORE_REL); eval 'sub ATOMIC_SAN_TEST { my($sp, $op, $name, $type) = @_; eval q(\'int\' $sp &_atomic_$op &_$name( &volatile $type *, \'u_int\'); \'int\' $sp &_atomic_$op &_acq_$name( &volatile $type *, \'u_int\')); }' unless defined(&ATOMIC_SAN_TEST); eval 'sub _ATOMIC_SAN_THREAD_FENCE { my($sp) = @_; eval q( &void $sp &_atomic_thread_fence_acq( &void); &void $sp &_atomic_thread_fence_rel( &void); &void $sp &_atomic_thread_fence_acq_rel( &void); &void $sp &_atomic_thread_fence_seq_cst( &void); &void $sp &_atomic_interrupt_fence( &void)); }' unless defined(&_ATOMIC_SAN_THREAD_FENCE); eval 'sub ATOMIC_SAN_THREAD_FENCE { my($sp) = @_; eval q( &_ATOMIC_SAN_THREAD_FENCE($sp)); }' unless defined(&ATOMIC_SAN_THREAD_FENCE); eval 'sub ATOMIC_SAN_LOAD_STORE { my($sp, $name, $type) = @_; eval q( &ATOMIC_SAN_LOAD($sp, $name, $type); &ATOMIC_SAN_STORE($sp, $name, $type)); }' unless defined(&ATOMIC_SAN_LOAD_STORE); eval 'sub _ATOMIC_SAN_FUNCS { my($sp, $name, $type) = @_; eval q( &ATOMIC_SAN_FUNC_1($sp, &add, $name, $type); &ATOMIC_SAN_FUNC_1($sp, &clear, $name, $type); &ATOMIC_SAN_CMPSET($sp, $name, $type); &ATOMIC_SAN_FCMPSET($sp, $name, $type); &ATOMIC_SAN_READ($sp, &fetchadd, $name, $type); &ATOMIC_SAN_LOAD($sp, $name, $type); &ATOMIC_SAN_LOAD_ACQ($sp, $name, $type); &ATOMIC_SAN_READANDCLEAR($sp, $name, $type); &ATOMIC_SAN_FUNC_1($sp, &set, $name, $type); &ATOMIC_SAN_FUNC_1($sp, &subtract, $name, $type); &ATOMIC_SAN_STORE($sp, $name, $type); &ATOMIC_SAN_STORE_REL($sp, $name, $type); &ATOMIC_SAN_READ($sp, &swap, $name, $type); &ATOMIC_SAN_TEST($sp, &testandclear, $name, $type); &ATOMIC_SAN_TEST($sp, &testandset, $name, $type)); }' unless defined(&_ATOMIC_SAN_FUNCS); eval 'sub ATOMIC_SAN_FUNCS { my($name, $type) = @_; eval q( &_ATOMIC_SAN_FUNCS( &SAN_INTERCEPTOR_PREFIX, $name, $type)); }' unless defined(&ATOMIC_SAN_FUNCS); unless(defined(&SAN_RUNTIME)) { eval 'sub ATOMIC_SAN { my($func) = @_; eval q( &__CONCAT( &SAN_INTERCEPTOR_PREFIX, &__CONCAT( &_atomic_, $func))); }' unless defined(&ATOMIC_SAN); eval 'sub atomic_load_bool () { &ATOMIC_SAN( &load_bool);}' unless defined(&atomic_load_bool); eval 'sub atomic_store_bool () { &ATOMIC_SAN( &store_bool);}' unless defined(&atomic_store_bool); eval 'sub atomic_add_char () { &ATOMIC_SAN( &add_char);}' unless defined(&atomic_add_char); eval 'sub atomic_add_acq_char () { &ATOMIC_SAN( &add_acq_char);}' unless defined(&atomic_add_acq_char); eval 'sub atomic_add_rel_char () { &ATOMIC_SAN( &add_rel_char);}' unless defined(&atomic_add_rel_char); eval 'sub atomic_clear_char () { &ATOMIC_SAN( &clear_char);}' unless defined(&atomic_clear_char); eval 'sub atomic_clear_acq_char () { &ATOMIC_SAN( &clear_acq_char);}' unless defined(&atomic_clear_acq_char); eval 'sub atomic_clear_rel_char () { &ATOMIC_SAN( &clear_rel_char);}' unless defined(&atomic_clear_rel_char); eval 'sub atomic_cmpset_char () { &ATOMIC_SAN( &cmpset_char);}' unless defined(&atomic_cmpset_char); eval 'sub atomic_cmpset_acq_char () { &ATOMIC_SAN( &cmpset_acq_char);}' unless defined(&atomic_cmpset_acq_char); eval 'sub atomic_cmpset_rel_char () { &ATOMIC_SAN( &cmpset_rel_char);}' unless defined(&atomic_cmpset_rel_char); eval 'sub atomic_fcmpset_char () { &ATOMIC_SAN( &fcmpset_char);}' unless defined(&atomic_fcmpset_char); eval 'sub atomic_fcmpset_acq_char () { &ATOMIC_SAN( &fcmpset_acq_char);}' unless defined(&atomic_fcmpset_acq_char); eval 'sub atomic_fcmpset_rel_char () { &ATOMIC_SAN( &fcmpset_rel_char);}' unless defined(&atomic_fcmpset_rel_char); eval 'sub atomic_fetchadd_char () { &ATOMIC_SAN( &fetchadd_char);}' unless defined(&atomic_fetchadd_char); eval 'sub atomic_load_char () { &ATOMIC_SAN( &load_char);}' unless defined(&atomic_load_char); eval 'sub atomic_load_acq_char () { &ATOMIC_SAN( &load_acq_char);}' unless defined(&atomic_load_acq_char); eval 'sub atomic_readandclear_char () { &ATOMIC_SAN( &readandclear_char);}' unless defined(&atomic_readandclear_char); eval 'sub atomic_set_char () { &ATOMIC_SAN( &set_char);}' unless defined(&atomic_set_char); eval 'sub atomic_set_acq_char () { &ATOMIC_SAN( &set_acq_char);}' unless defined(&atomic_set_acq_char); eval 'sub atomic_set_rel_char () { &ATOMIC_SAN( &set_rel_char);}' unless defined(&atomic_set_rel_char); eval 'sub atomic_subtract_char () { &ATOMIC_SAN( &subtract_char);}' unless defined(&atomic_subtract_char); eval 'sub atomic_subtract_acq_char () { &ATOMIC_SAN( &subtract_acq_char);}' unless defined(&atomic_subtract_acq_char); eval 'sub atomic_subtract_rel_char () { &ATOMIC_SAN( &subtract_rel_char);}' unless defined(&atomic_subtract_rel_char); eval 'sub atomic_store_char () { &ATOMIC_SAN( &store_char);}' unless defined(&atomic_store_char); eval 'sub atomic_store_rel_char () { &ATOMIC_SAN( &store_rel_char);}' unless defined(&atomic_store_rel_char); eval 'sub atomic_swap_char () { &ATOMIC_SAN( &swap_char);}' unless defined(&atomic_swap_char); eval 'sub atomic_testandclear_char () { &ATOMIC_SAN( &testandclear_char);}' unless defined(&atomic_testandclear_char); eval 'sub atomic_testandset_char () { &ATOMIC_SAN( &testandset_char);}' unless defined(&atomic_testandset_char); eval 'sub atomic_add_short () { &ATOMIC_SAN;}' unless defined(&atomic_add_short); eval 'sub atomic_add_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_add_acq_short); eval 'sub atomic_add_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_add_rel_short); eval 'sub atomic_clear_short () { &ATOMIC_SAN;}' unless defined(&atomic_clear_short); eval 'sub atomic_clear_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_clear_acq_short); eval 'sub atomic_clear_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_clear_rel_short); eval 'sub atomic_cmpset_short () { &ATOMIC_SAN;}' unless defined(&atomic_cmpset_short); eval 'sub atomic_cmpset_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_cmpset_acq_short); eval 'sub atomic_cmpset_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_cmpset_rel_short); eval 'sub atomic_fcmpset_short () { &ATOMIC_SAN;}' unless defined(&atomic_fcmpset_short); eval 'sub atomic_fcmpset_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_fcmpset_acq_short); eval 'sub atomic_fcmpset_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_fcmpset_rel_short); eval 'sub atomic_fetchadd_short () { &ATOMIC_SAN;}' unless defined(&atomic_fetchadd_short); eval 'sub atomic_load_short () { &ATOMIC_SAN;}' unless defined(&atomic_load_short); eval 'sub atomic_load_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_load_acq_short); eval 'sub atomic_readandclear_short () { &ATOMIC_SAN;}' unless defined(&atomic_readandclear_short); eval 'sub atomic_set_short () { &ATOMIC_SAN;}' unless defined(&atomic_set_short); eval 'sub atomic_set_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_set_acq_short); eval 'sub atomic_set_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_set_rel_short); eval 'sub atomic_subtract_short () { &ATOMIC_SAN;}' unless defined(&atomic_subtract_short); eval 'sub atomic_subtract_acq_short () { &ATOMIC_SAN;}' unless defined(&atomic_subtract_acq_short); eval 'sub atomic_subtract_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_subtract_rel_short); eval 'sub atomic_store_short () { &ATOMIC_SAN;}' unless defined(&atomic_store_short); eval 'sub atomic_store_rel_short () { &ATOMIC_SAN;}' unless defined(&atomic_store_rel_short); eval 'sub atomic_swap_short () { &ATOMIC_SAN;}' unless defined(&atomic_swap_short); eval 'sub atomic_testandclear_short () { &ATOMIC_SAN;}' unless defined(&atomic_testandclear_short); eval 'sub atomic_testandset_short () { &ATOMIC_SAN;}' unless defined(&atomic_testandset_short); eval 'sub atomic_add_int () { &ATOMIC_SAN( &add_int);}' unless defined(&atomic_add_int); eval 'sub atomic_add_acq_int () { &ATOMIC_SAN( &add_acq_int);}' unless defined(&atomic_add_acq_int); eval 'sub atomic_add_rel_int () { &ATOMIC_SAN( &add_rel_int);}' unless defined(&atomic_add_rel_int); eval 'sub atomic_clear_int () { &ATOMIC_SAN( &clear_int);}' unless defined(&atomic_clear_int); eval 'sub atomic_clear_acq_int () { &ATOMIC_SAN( &clear_acq_int);}' unless defined(&atomic_clear_acq_int); eval 'sub atomic_clear_rel_int () { &ATOMIC_SAN( &clear_rel_int);}' unless defined(&atomic_clear_rel_int); eval 'sub atomic_cmpset_int () { &ATOMIC_SAN( &cmpset_int);}' unless defined(&atomic_cmpset_int); eval 'sub atomic_cmpset_acq_int () { &ATOMIC_SAN( &cmpset_acq_int);}' unless defined(&atomic_cmpset_acq_int); eval 'sub atomic_cmpset_rel_int () { &ATOMIC_SAN( &cmpset_rel_int);}' unless defined(&atomic_cmpset_rel_int); eval 'sub atomic_fcmpset_int () { &ATOMIC_SAN( &fcmpset_int);}' unless defined(&atomic_fcmpset_int); eval 'sub atomic_fcmpset_acq_int () { &ATOMIC_SAN( &fcmpset_acq_int);}' unless defined(&atomic_fcmpset_acq_int); eval 'sub atomic_fcmpset_rel_int () { &ATOMIC_SAN( &fcmpset_rel_int);}' unless defined(&atomic_fcmpset_rel_int); eval 'sub atomic_fetchadd_int () { &ATOMIC_SAN( &fetchadd_int);}' unless defined(&atomic_fetchadd_int); eval 'sub atomic_load_int () { &ATOMIC_SAN( &load_int);}' unless defined(&atomic_load_int); eval 'sub atomic_load_acq_int () { &ATOMIC_SAN( &load_acq_int);}' unless defined(&atomic_load_acq_int); eval 'sub atomic_readandclear_int () { &ATOMIC_SAN( &readandclear_int);}' unless defined(&atomic_readandclear_int); eval 'sub atomic_set_int () { &ATOMIC_SAN( &set_int);}' unless defined(&atomic_set_int); eval 'sub atomic_set_acq_int () { &ATOMIC_SAN( &set_acq_int);}' unless defined(&atomic_set_acq_int); eval 'sub atomic_set_rel_int () { &ATOMIC_SAN( &set_rel_int);}' unless defined(&atomic_set_rel_int); eval 'sub atomic_subtract_int () { &ATOMIC_SAN( &subtract_int);}' unless defined(&atomic_subtract_int); eval 'sub atomic_subtract_acq_int () { &ATOMIC_SAN( &subtract_acq_int);}' unless defined(&atomic_subtract_acq_int); eval 'sub atomic_subtract_rel_int () { &ATOMIC_SAN( &subtract_rel_int);}' unless defined(&atomic_subtract_rel_int); eval 'sub atomic_store_int () { &ATOMIC_SAN( &store_int);}' unless defined(&atomic_store_int); eval 'sub atomic_store_rel_int () { &ATOMIC_SAN( &store_rel_int);}' unless defined(&atomic_store_rel_int); eval 'sub atomic_swap_int () { &ATOMIC_SAN( &swap_int);}' unless defined(&atomic_swap_int); eval 'sub atomic_testandclear_int () { &ATOMIC_SAN( &testandclear_int);}' unless defined(&atomic_testandclear_int); eval 'sub atomic_testandset_int () { &ATOMIC_SAN( &testandset_int);}' unless defined(&atomic_testandset_int); eval 'sub atomic_add_long () { &ATOMIC_SAN;}' unless defined(&atomic_add_long); eval 'sub atomic_add_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_add_acq_long); eval 'sub atomic_add_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_add_rel_long); eval 'sub atomic_clear_long () { &ATOMIC_SAN;}' unless defined(&atomic_clear_long); eval 'sub atomic_clear_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_clear_acq_long); eval 'sub atomic_clear_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_clear_rel_long); eval 'sub atomic_cmpset_long () { &ATOMIC_SAN;}' unless defined(&atomic_cmpset_long); eval 'sub atomic_cmpset_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_cmpset_acq_long); eval 'sub atomic_cmpset_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_cmpset_rel_long); eval 'sub atomic_fcmpset_long () { &ATOMIC_SAN;}' unless defined(&atomic_fcmpset_long); eval 'sub atomic_fcmpset_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_fcmpset_acq_long); eval 'sub atomic_fcmpset_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_fcmpset_rel_long); eval 'sub atomic_fetchadd_long () { &ATOMIC_SAN;}' unless defined(&atomic_fetchadd_long); eval 'sub atomic_load_long () { &ATOMIC_SAN;}' unless defined(&atomic_load_long); eval 'sub atomic_load_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_load_acq_long); eval 'sub atomic_readandclear_long () { &ATOMIC_SAN;}' unless defined(&atomic_readandclear_long); eval 'sub atomic_set_long () { &ATOMIC_SAN;}' unless defined(&atomic_set_long); eval 'sub atomic_set_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_set_acq_long); eval 'sub atomic_set_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_set_rel_long); eval 'sub atomic_subtract_long () { &ATOMIC_SAN;}' unless defined(&atomic_subtract_long); eval 'sub atomic_subtract_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_subtract_acq_long); eval 'sub atomic_subtract_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_subtract_rel_long); eval 'sub atomic_store_long () { &ATOMIC_SAN;}' unless defined(&atomic_store_long); eval 'sub atomic_store_rel_long () { &ATOMIC_SAN;}' unless defined(&atomic_store_rel_long); eval 'sub atomic_swap_long () { &ATOMIC_SAN;}' unless defined(&atomic_swap_long); eval 'sub atomic_testandclear_long () { &ATOMIC_SAN;}' unless defined(&atomic_testandclear_long); eval 'sub atomic_testandset_long () { &ATOMIC_SAN;}' unless defined(&atomic_testandset_long); eval 'sub atomic_testandset_acq_long () { &ATOMIC_SAN;}' unless defined(&atomic_testandset_acq_long); eval 'sub atomic_add_ptr () { &ATOMIC_SAN( &add_ptr);}' unless defined(&atomic_add_ptr); eval 'sub atomic_add_acq_ptr () { &ATOMIC_SAN( &add_acq_ptr);}' unless defined(&atomic_add_acq_ptr); eval 'sub atomic_add_rel_ptr () { &ATOMIC_SAN( &add_rel_ptr);}' unless defined(&atomic_add_rel_ptr); eval 'sub atomic_clear_ptr () { &ATOMIC_SAN( &clear_ptr);}' unless defined(&atomic_clear_ptr); eval 'sub atomic_clear_acq_ptr () { &ATOMIC_SAN( &clear_acq_ptr);}' unless defined(&atomic_clear_acq_ptr); eval 'sub atomic_clear_rel_ptr () { &ATOMIC_SAN( &clear_rel_ptr);}' unless defined(&atomic_clear_rel_ptr); eval 'sub atomic_cmpset_ptr () { &ATOMIC_SAN( &cmpset_ptr);}' unless defined(&atomic_cmpset_ptr); eval 'sub atomic_cmpset_acq_ptr () { &ATOMIC_SAN( &cmpset_acq_ptr);}' unless defined(&atomic_cmpset_acq_ptr); eval 'sub atomic_cmpset_rel_ptr () { &ATOMIC_SAN( &cmpset_rel_ptr);}' unless defined(&atomic_cmpset_rel_ptr); eval 'sub atomic_fcmpset_ptr () { &ATOMIC_SAN( &fcmpset_ptr);}' unless defined(&atomic_fcmpset_ptr); eval 'sub atomic_fcmpset_acq_ptr () { &ATOMIC_SAN( &fcmpset_acq_ptr);}' unless defined(&atomic_fcmpset_acq_ptr); eval 'sub atomic_fcmpset_rel_ptr () { &ATOMIC_SAN( &fcmpset_rel_ptr);}' unless defined(&atomic_fcmpset_rel_ptr); eval 'sub atomic_fetchadd_ptr () { &ATOMIC_SAN( &fetchadd_ptr);}' unless defined(&atomic_fetchadd_ptr); eval 'sub atomic_load_ptr { my($x) = @_; eval q((( &__typeof(*$x)) &ATOMIC_SAN( &load_ptr)( &__DECONST( &volatile &uintptr_t *, ($x))))); }' unless defined(&atomic_load_ptr); eval 'sub atomic_load_acq_ptr () { &ATOMIC_SAN( &load_acq_ptr);}' unless defined(&atomic_load_acq_ptr); eval 'sub atomic_load_consume_ptr { my($x) = @_; eval q((( &__typeof(*$x)) &atomic_load_acq_ptr(( &volatile &uintptr_t *)($x)))); }' unless defined(&atomic_load_consume_ptr); eval 'sub atomic_readandclear_ptr () { &ATOMIC_SAN( &readandclear_ptr);}' unless defined(&atomic_readandclear_ptr); eval 'sub atomic_set_ptr () { &ATOMIC_SAN( &set_ptr);}' unless defined(&atomic_set_ptr); eval 'sub atomic_set_acq_ptr () { &ATOMIC_SAN( &set_acq_ptr);}' unless defined(&atomic_set_acq_ptr); eval 'sub atomic_set_rel_ptr () { &ATOMIC_SAN( &set_rel_ptr);}' unless defined(&atomic_set_rel_ptr); eval 'sub atomic_subtract_ptr () { &ATOMIC_SAN( &subtract_ptr);}' unless defined(&atomic_subtract_ptr); eval 'sub atomic_subtract_acq_ptr () { &ATOMIC_SAN( &subtract_acq_ptr);}' unless defined(&atomic_subtract_acq_ptr); eval 'sub atomic_subtract_rel_ptr () { &ATOMIC_SAN( &subtract_rel_ptr);}' unless defined(&atomic_subtract_rel_ptr); eval 'sub atomic_store_ptr { my($x, $v) = @_; eval q(({ &__typeof(*$x) &__value = ($v); &ATOMIC_SAN( &store_ptr)(( &volatile &uintptr_t *)($x), ( &uintptr_t)( &__value));})); }' unless defined(&atomic_store_ptr); eval 'sub atomic_store_rel_ptr () { &ATOMIC_SAN( &store_rel_ptr);}' unless defined(&atomic_store_rel_ptr); eval 'sub atomic_swap_ptr () { &ATOMIC_SAN( &swap_ptr);}' unless defined(&atomic_swap_ptr); eval 'sub atomic_testandclear_ptr () { &ATOMIC_SAN( &testandclear_ptr);}' unless defined(&atomic_testandclear_ptr); eval 'sub atomic_testandset_ptr () { &ATOMIC_SAN( &testandset_ptr);}' unless defined(&atomic_testandset_ptr); eval 'sub atomic_add_8 () { &ATOMIC_SAN( &add_8);}' unless defined(&atomic_add_8); eval 'sub atomic_add_acq_8 () { &ATOMIC_SAN( &add_acq_8);}' unless defined(&atomic_add_acq_8); eval 'sub atomic_add_rel_8 () { &ATOMIC_SAN( &add_rel_8);}' unless defined(&atomic_add_rel_8); eval 'sub atomic_clear_8 () { &ATOMIC_SAN( &clear_8);}' unless defined(&atomic_clear_8); eval 'sub atomic_clear_acq_8 () { &ATOMIC_SAN( &clear_acq_8);}' unless defined(&atomic_clear_acq_8); eval 'sub atomic_clear_rel_8 () { &ATOMIC_SAN( &clear_rel_8);}' unless defined(&atomic_clear_rel_8); eval 'sub atomic_cmpset_8 () { &ATOMIC_SAN( &cmpset_8);}' unless defined(&atomic_cmpset_8); eval 'sub atomic_cmpset_acq_8 () { &ATOMIC_SAN( &cmpset_acq_8);}' unless defined(&atomic_cmpset_acq_8); eval 'sub atomic_cmpset_rel_8 () { &ATOMIC_SAN( &cmpset_rel_8);}' unless defined(&atomic_cmpset_rel_8); eval 'sub atomic_fcmpset_8 () { &ATOMIC_SAN( &fcmpset_8);}' unless defined(&atomic_fcmpset_8); eval 'sub atomic_fcmpset_acq_8 () { &ATOMIC_SAN( &fcmpset_acq_8);}' unless defined(&atomic_fcmpset_acq_8); eval 'sub atomic_fcmpset_rel_8 () { &ATOMIC_SAN( &fcmpset_rel_8);}' unless defined(&atomic_fcmpset_rel_8); eval 'sub atomic_fetchadd_8 () { &ATOMIC_SAN( &fetchadd_8);}' unless defined(&atomic_fetchadd_8); eval 'sub atomic_load_8 () { &ATOMIC_SAN( &load_8);}' unless defined(&atomic_load_8); eval 'sub atomic_load_acq_8 () { &ATOMIC_SAN( &load_acq_8);}' unless defined(&atomic_load_acq_8); eval 'sub atomic_readandclear_8 () { &ATOMIC_SAN( &readandclear_8);}' unless defined(&atomic_readandclear_8); eval 'sub atomic_set_8 () { &ATOMIC_SAN( &set_8);}' unless defined(&atomic_set_8); eval 'sub atomic_set_acq_8 () { &ATOMIC_SAN( &set_acq_8);}' unless defined(&atomic_set_acq_8); eval 'sub atomic_set_rel_8 () { &ATOMIC_SAN( &set_rel_8);}' unless defined(&atomic_set_rel_8); eval 'sub atomic_subtract_8 () { &ATOMIC_SAN( &subtract_8);}' unless defined(&atomic_subtract_8); eval 'sub atomic_subtract_acq_8 () { &ATOMIC_SAN( &subtract_acq_8);}' unless defined(&atomic_subtract_acq_8); eval 'sub atomic_subtract_rel_8 () { &ATOMIC_SAN( &subtract_rel_8);}' unless defined(&atomic_subtract_rel_8); eval 'sub atomic_store_8 () { &ATOMIC_SAN( &store_8);}' unless defined(&atomic_store_8); eval 'sub atomic_store_rel_8 () { &ATOMIC_SAN( &store_rel_8);}' unless defined(&atomic_store_rel_8); eval 'sub atomic_swap_8 () { &ATOMIC_SAN( &swap_8);}' unless defined(&atomic_swap_8); eval 'sub atomic_testandclear_8 () { &ATOMIC_SAN( &testandclear_8);}' unless defined(&atomic_testandclear_8); eval 'sub atomic_testandset_8 () { &ATOMIC_SAN( &testandset_8);}' unless defined(&atomic_testandset_8); eval 'sub atomic_add_16 () { &ATOMIC_SAN( &add_16);}' unless defined(&atomic_add_16); eval 'sub atomic_add_acq_16 () { &ATOMIC_SAN( &add_acq_16);}' unless defined(&atomic_add_acq_16); eval 'sub atomic_add_rel_16 () { &ATOMIC_SAN( &add_rel_16);}' unless defined(&atomic_add_rel_16); eval 'sub atomic_clear_16 () { &ATOMIC_SAN( &clear_16);}' unless defined(&atomic_clear_16); eval 'sub atomic_clear_acq_16 () { &ATOMIC_SAN( &clear_acq_16);}' unless defined(&atomic_clear_acq_16); eval 'sub atomic_clear_rel_16 () { &ATOMIC_SAN( &clear_rel_16);}' unless defined(&atomic_clear_rel_16); eval 'sub atomic_cmpset_16 () { &ATOMIC_SAN( &cmpset_16);}' unless defined(&atomic_cmpset_16); eval 'sub atomic_cmpset_acq_16 () { &ATOMIC_SAN( &cmpset_acq_16);}' unless defined(&atomic_cmpset_acq_16); eval 'sub atomic_cmpset_rel_16 () { &ATOMIC_SAN( &cmpset_rel_16);}' unless defined(&atomic_cmpset_rel_16); eval 'sub atomic_fcmpset_16 () { &ATOMIC_SAN( &fcmpset_16);}' unless defined(&atomic_fcmpset_16); eval 'sub atomic_fcmpset_acq_16 () { &ATOMIC_SAN( &fcmpset_acq_16);}' unless defined(&atomic_fcmpset_acq_16); eval 'sub atomic_fcmpset_rel_16 () { &ATOMIC_SAN( &fcmpset_rel_16);}' unless defined(&atomic_fcmpset_rel_16); eval 'sub atomic_fetchadd_16 () { &ATOMIC_SAN( &fetchadd_16);}' unless defined(&atomic_fetchadd_16); eval 'sub atomic_load_16 () { &ATOMIC_SAN( &load_16);}' unless defined(&atomic_load_16); eval 'sub atomic_load_acq_16 () { &ATOMIC_SAN( &load_acq_16);}' unless defined(&atomic_load_acq_16); eval 'sub atomic_readandclear_16 () { &ATOMIC_SAN( &readandclear_16);}' unless defined(&atomic_readandclear_16); eval 'sub atomic_set_16 () { &ATOMIC_SAN( &set_16);}' unless defined(&atomic_set_16); eval 'sub atomic_set_acq_16 () { &ATOMIC_SAN( &set_acq_16);}' unless defined(&atomic_set_acq_16); eval 'sub atomic_set_rel_16 () { &ATOMIC_SAN( &set_rel_16);}' unless defined(&atomic_set_rel_16); eval 'sub atomic_subtract_16 () { &ATOMIC_SAN( &subtract_16);}' unless defined(&atomic_subtract_16); eval 'sub atomic_subtract_acq_16 () { &ATOMIC_SAN( &subtract_acq_16);}' unless defined(&atomic_subtract_acq_16); eval 'sub atomic_subtract_rel_16 () { &ATOMIC_SAN( &subtract_rel_16);}' unless defined(&atomic_subtract_rel_16); eval 'sub atomic_store_16 () { &ATOMIC_SAN( &store_16);}' unless defined(&atomic_store_16); eval 'sub atomic_store_rel_16 () { &ATOMIC_SAN( &store_rel_16);}' unless defined(&atomic_store_rel_16); eval 'sub atomic_swap_16 () { &ATOMIC_SAN( &swap_16);}' unless defined(&atomic_swap_16); eval 'sub atomic_testandclear_16 () { &ATOMIC_SAN( &testandclear_16);}' unless defined(&atomic_testandclear_16); eval 'sub atomic_testandset_16 () { &ATOMIC_SAN( &testandset_16);}' unless defined(&atomic_testandset_16); eval 'sub atomic_add_32 () { &ATOMIC_SAN( &add_32);}' unless defined(&atomic_add_32); eval 'sub atomic_add_acq_32 () { &ATOMIC_SAN( &add_acq_32);}' unless defined(&atomic_add_acq_32); eval 'sub atomic_add_rel_32 () { &ATOMIC_SAN( &add_rel_32);}' unless defined(&atomic_add_rel_32); eval 'sub atomic_clear_32 () { &ATOMIC_SAN( &clear_32);}' unless defined(&atomic_clear_32); eval 'sub atomic_clear_acq_32 () { &ATOMIC_SAN( &clear_acq_32);}' unless defined(&atomic_clear_acq_32); eval 'sub atomic_clear_rel_32 () { &ATOMIC_SAN( &clear_rel_32);}' unless defined(&atomic_clear_rel_32); eval 'sub atomic_cmpset_32 () { &ATOMIC_SAN( &cmpset_32);}' unless defined(&atomic_cmpset_32); eval 'sub atomic_cmpset_acq_32 () { &ATOMIC_SAN( &cmpset_acq_32);}' unless defined(&atomic_cmpset_acq_32); eval 'sub atomic_cmpset_rel_32 () { &ATOMIC_SAN( &cmpset_rel_32);}' unless defined(&atomic_cmpset_rel_32); eval 'sub atomic_fcmpset_32 () { &ATOMIC_SAN( &fcmpset_32);}' unless defined(&atomic_fcmpset_32); eval 'sub atomic_fcmpset_acq_32 () { &ATOMIC_SAN( &fcmpset_acq_32);}' unless defined(&atomic_fcmpset_acq_32); eval 'sub atomic_fcmpset_rel_32 () { &ATOMIC_SAN( &fcmpset_rel_32);}' unless defined(&atomic_fcmpset_rel_32); eval 'sub atomic_fetchadd_32 () { &ATOMIC_SAN( &fetchadd_32);}' unless defined(&atomic_fetchadd_32); eval 'sub atomic_load_32 () { &ATOMIC_SAN( &load_32);}' unless defined(&atomic_load_32); eval 'sub atomic_load_acq_32 () { &ATOMIC_SAN( &load_acq_32);}' unless defined(&atomic_load_acq_32); eval 'sub atomic_readandclear_32 () { &ATOMIC_SAN( &readandclear_32);}' unless defined(&atomic_readandclear_32); eval 'sub atomic_set_32 () { &ATOMIC_SAN( &set_32);}' unless defined(&atomic_set_32); eval 'sub atomic_set_acq_32 () { &ATOMIC_SAN( &set_acq_32);}' unless defined(&atomic_set_acq_32); eval 'sub atomic_set_rel_32 () { &ATOMIC_SAN( &set_rel_32);}' unless defined(&atomic_set_rel_32); eval 'sub atomic_subtract_32 () { &ATOMIC_SAN( &subtract_32);}' unless defined(&atomic_subtract_32); eval 'sub atomic_subtract_acq_32 () { &ATOMIC_SAN( &subtract_acq_32);}' unless defined(&atomic_subtract_acq_32); eval 'sub atomic_subtract_rel_32 () { &ATOMIC_SAN( &subtract_rel_32);}' unless defined(&atomic_subtract_rel_32); eval 'sub atomic_store_32 () { &ATOMIC_SAN( &store_32);}' unless defined(&atomic_store_32); eval 'sub atomic_store_rel_32 () { &ATOMIC_SAN( &store_rel_32);}' unless defined(&atomic_store_rel_32); eval 'sub atomic_swap_32 () { &ATOMIC_SAN( &swap_32);}' unless defined(&atomic_swap_32); eval 'sub atomic_testandclear_32 () { &ATOMIC_SAN( &testandclear_32);}' unless defined(&atomic_testandclear_32); eval 'sub atomic_testandset_32 () { &ATOMIC_SAN( &testandset_32);}' unless defined(&atomic_testandset_32); eval 'sub atomic_add_64 () { &ATOMIC_SAN( &add_64);}' unless defined(&atomic_add_64); eval 'sub atomic_add_acq_64 () { &ATOMIC_SAN( &add_acq_64);}' unless defined(&atomic_add_acq_64); eval 'sub atomic_add_rel_64 () { &ATOMIC_SAN( &add_rel_64);}' unless defined(&atomic_add_rel_64); eval 'sub atomic_clear_64 () { &ATOMIC_SAN( &clear_64);}' unless defined(&atomic_clear_64); eval 'sub atomic_clear_acq_64 () { &ATOMIC_SAN( &clear_acq_64);}' unless defined(&atomic_clear_acq_64); eval 'sub atomic_clear_rel_64 () { &ATOMIC_SAN( &clear_rel_64);}' unless defined(&atomic_clear_rel_64); eval 'sub atomic_cmpset_64 () { &ATOMIC_SAN( &cmpset_64);}' unless defined(&atomic_cmpset_64); eval 'sub atomic_cmpset_acq_64 () { &ATOMIC_SAN( &cmpset_acq_64);}' unless defined(&atomic_cmpset_acq_64); eval 'sub atomic_cmpset_rel_64 () { &ATOMIC_SAN( &cmpset_rel_64);}' unless defined(&atomic_cmpset_rel_64); eval 'sub atomic_fcmpset_64 () { &ATOMIC_SAN( &fcmpset_64);}' unless defined(&atomic_fcmpset_64); eval 'sub atomic_fcmpset_acq_64 () { &ATOMIC_SAN( &fcmpset_acq_64);}' unless defined(&atomic_fcmpset_acq_64); eval 'sub atomic_fcmpset_rel_64 () { &ATOMIC_SAN( &fcmpset_rel_64);}' unless defined(&atomic_fcmpset_rel_64); eval 'sub atomic_fetchadd_64 () { &ATOMIC_SAN( &fetchadd_64);}' unless defined(&atomic_fetchadd_64); eval 'sub atomic_load_64 () { &ATOMIC_SAN( &load_64);}' unless defined(&atomic_load_64); eval 'sub atomic_load_acq_64 () { &ATOMIC_SAN( &load_acq_64);}' unless defined(&atomic_load_acq_64); eval 'sub atomic_readandclear_64 () { &ATOMIC_SAN( &readandclear_64);}' unless defined(&atomic_readandclear_64); eval 'sub atomic_set_64 () { &ATOMIC_SAN( &set_64);}' unless defined(&atomic_set_64); eval 'sub atomic_set_acq_64 () { &ATOMIC_SAN( &set_acq_64);}' unless defined(&atomic_set_acq_64); eval 'sub atomic_set_rel_64 () { &ATOMIC_SAN( &set_rel_64);}' unless defined(&atomic_set_rel_64); eval 'sub atomic_subtract_64 () { &ATOMIC_SAN( &subtract_64);}' unless defined(&atomic_subtract_64); eval 'sub atomic_subtract_acq_64 () { &ATOMIC_SAN( &subtract_acq_64);}' unless defined(&atomic_subtract_acq_64); eval 'sub atomic_subtract_rel_64 () { &ATOMIC_SAN( &subtract_rel_64);}' unless defined(&atomic_subtract_rel_64); eval 'sub atomic_store_64 () { &ATOMIC_SAN( &store_64);}' unless defined(&atomic_store_64); eval 'sub atomic_store_rel_64 () { &ATOMIC_SAN( &store_rel_64);}' unless defined(&atomic_store_rel_64); eval 'sub atomic_swap_64 () { &ATOMIC_SAN( &swap_64);}' unless defined(&atomic_swap_64); eval 'sub atomic_testandclear_64 () { &ATOMIC_SAN( &testandclear_64);}' unless defined(&atomic_testandclear_64); eval 'sub atomic_testandset_64 () { &ATOMIC_SAN( &testandset_64);}' unless defined(&atomic_testandset_64); eval 'sub atomic_thread_fence_acq () { &ATOMIC_SAN( &thread_fence_acq);}' unless defined(&atomic_thread_fence_acq); eval 'sub atomic_thread_fence_acq_rel () { &ATOMIC_SAN( &thread_fence_acq_rel);}' unless defined(&atomic_thread_fence_acq_rel); eval 'sub atomic_thread_fence_rel () { &ATOMIC_SAN( &thread_fence_rel);}' unless defined(&atomic_thread_fence_rel); eval 'sub atomic_thread_fence_seq_cst () { &ATOMIC_SAN( &thread_fence_seq_cst);}' unless defined(&atomic_thread_fence_seq_cst); eval 'sub atomic_interrupt_fence () { &ATOMIC_SAN( &interrupt_fence);}' unless defined(&atomic_interrupt_fence); } } 1;