%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_common.ph |
require '_h2ph_pre.ph'; no warnings qw(redefine misc); unless(defined(&_SYS_ATOMIC_COMMON_H_)) { eval 'sub _SYS_ATOMIC_COMMON_H_ () {1;}' unless defined(&_SYS_ATOMIC_COMMON_H_); unless(defined(&_MACHINE_ATOMIC_H_)) { die("do\ not\ include\ this\ header\,\ use\ machine\/atomic\.h"); } require 'sys/types.ph'; eval 'sub __atomic_load_bool_relaxed { my($p) = @_; eval q((*( &volatile &_Bool *)($p))); }' unless defined(&__atomic_load_bool_relaxed); eval 'sub __atomic_store_bool_relaxed { my($p, $v) = @_; eval q((*( &volatile &_Bool *)($p) = ( &_Bool)($v))); }' unless defined(&__atomic_store_bool_relaxed); eval 'sub __atomic_load_char_relaxed { my($p) = @_; eval q((*( &volatile \'u_char\' *)($p))); }' unless defined(&__atomic_load_char_relaxed); eval 'sub __atomic_load_short_relaxed { my($p) = @_; eval q((*( &volatile \'u_short\' *)($p))); }' unless defined(&__atomic_load_short_relaxed); eval 'sub __atomic_load_int_relaxed { my($p) = @_; eval q((*( &volatile \'u_int\' *)($p))); }' unless defined(&__atomic_load_int_relaxed); eval 'sub __atomic_load_long_relaxed { my($p) = @_; eval q((*( &volatile \'u_long\' *)($p))); }' unless defined(&__atomic_load_long_relaxed); eval 'sub __atomic_load_8_relaxed { my($p) = @_; eval q((*( &volatile &uint8_t *)($p))); }' unless defined(&__atomic_load_8_relaxed); eval 'sub __atomic_load_16_relaxed { my($p) = @_; eval q((*( &volatile &uint16_t *)($p))); }' unless defined(&__atomic_load_16_relaxed); eval 'sub __atomic_load_32_relaxed { my($p) = @_; eval q((*( &volatile &uint32_t *)($p))); }' unless defined(&__atomic_load_32_relaxed); eval 'sub __atomic_load_64_relaxed { my($p) = @_; eval q((*( &volatile &uint64_t *)($p))); }' unless defined(&__atomic_load_64_relaxed); eval 'sub __atomic_store_char_relaxed { my($p, $v) = @_; eval q((*( &volatile \'u_char\' *) = ($v))); }' unless defined(&__atomic_store_char_relaxed); eval 'sub __atomic_store_short_relaxed { my($p, $v) = @_; eval q((*( &volatile \'u_short\' *) = ($v))); }' unless defined(&__atomic_store_short_relaxed); eval 'sub __atomic_store_int_relaxed { my($p, $v) = @_; eval q((*( &volatile \'u_int\' *) = ($v))); }' unless defined(&__atomic_store_int_relaxed); eval 'sub __atomic_store_long_relaxed { my($p, $v) = @_; eval q((*( &volatile \'u_long\' *) = ($v))); }' unless defined(&__atomic_store_long_relaxed); eval 'sub __atomic_store_8_relaxed { my($p, $v) = @_; eval q((*( &volatile &uint8_t *)($p) = ( &uint8_t)($v))); }' unless defined(&__atomic_store_8_relaxed); eval 'sub __atomic_store_16_relaxed { my($p, $v) = @_; eval q((*( &volatile &uint16_t *)($p) = ( &uint16_t)($v))); }' unless defined(&__atomic_store_16_relaxed); eval 'sub __atomic_store_32_relaxed { my($p, $v) = @_; eval q((*( &volatile &uint32_t *)($p) = ( &uint32_t)($v))); }' unless defined(&__atomic_store_32_relaxed); eval 'sub __atomic_store_64_relaxed { my($p, $v) = @_; eval q((*( &volatile &uint64_t *)($p) = ( &uint64_t)($v))); }' unless defined(&__atomic_store_64_relaxed); if((defined(&__STDC_VERSION__) && (defined(&__STDC_VERSION__) ? &__STDC_VERSION__ : undef) >= 201112) || &__has_extension((defined(&c_generic_selections) ? &c_generic_selections : undef))) { eval 'sub atomic_load_bool { my($p) = @_; eval q( &_Generic(*($p), &_Bool: &__atomic_load_bool_relaxed($p))); }' unless defined(&atomic_load_bool); eval 'sub atomic_store_bool { my($p, $v) = @_; eval q( &_Generic(*($p), &_Bool: &__atomic_store_bool_relaxed($p, $v))); }' unless defined(&atomic_store_bool); eval 'sub __atomic_load_generic { my($p, $t, $ut, $n) = @_; eval q( &_Generic(*($p), $t: &__atomic_load_ $n &_relaxed($p), $ut: &__atomic_load_ $n &_relaxed($p))); }' unless defined(&__atomic_load_generic); eval 'sub __atomic_store_generic { my($p, $v, $t, $ut, $n) = @_; eval q( &_Generic(*($p), $t: &__atomic_store_ $n &_relaxed($p, $v), $ut: &__atomic_store_ $n &_relaxed($p, $v))); }' unless defined(&__atomic_store_generic); } else { eval 'sub atomic_load_bool { my($p) = @_; eval q( &__atomic_load_bool_relaxed($p)); }' unless defined(&atomic_load_bool); eval 'sub atomic_store_bool { my($p, $v) = @_; eval q( &__atomic_store_bool_relaxed($p, $v)); }' unless defined(&atomic_store_bool); eval 'sub __atomic_load_generic { my($p, $t, $ut, $n) = @_; eval q( &__atomic_load_ $n &_relaxed($p)); }' unless defined(&__atomic_load_generic); eval 'sub __atomic_store_generic { my($p, $v, $t, $ut, $n) = @_; eval q( &__atomic_store_ $n &_relaxed($p, $v)); }' unless defined(&__atomic_store_generic); } eval 'sub atomic_load_char { my($p) = @_; eval q( &__atomic_load_generic($p, \'char\', \'u_char\', \'char\')); }' unless defined(&atomic_load_char); eval 'sub atomic_load_short { my($p) = @_; eval q( &__atomic_load_generic($p, \'short\', \'u_short\', \'short\')); }' unless defined(&atomic_load_short); eval 'sub atomic_load_int { my($p) = @_; eval q( &__atomic_load_generic($p, \'int\', \'u_int\', \'int\')); }' unless defined(&atomic_load_int); eval 'sub atomic_load_long { my($p) = @_; eval q( &__atomic_load_generic($p, \'long\', \'u_long\', \'long\')); }' unless defined(&atomic_load_long); eval 'sub atomic_load_8 { my($p) = @_; eval q( &__atomic_load_generic($p, &int8_t, &uint8_t, 8)); }' unless defined(&atomic_load_8); eval 'sub atomic_load_16 { my($p) = @_; eval q( &__atomic_load_generic($p, &int16_t, &uint16_t, 16)); }' unless defined(&atomic_load_16); eval 'sub atomic_load_32 { my($p) = @_; eval q( &__atomic_load_generic($p, &int32_t, &uint32_t, 32)); }' unless defined(&atomic_load_32); if(defined(&__LP64__)) { eval 'sub atomic_load_64 { my($p) = @_; eval q( &__atomic_load_generic($p, &int64_t, &uint64_t, 64)); }' unless defined(&atomic_load_64); } eval 'sub atomic_store_char { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, \'char\', \'u_char\', \'char\')); }' unless defined(&atomic_store_char); eval 'sub atomic_store_short { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, \'short\', \'u_short\', \'short\')); }' unless defined(&atomic_store_short); eval 'sub atomic_store_int { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, \'int\', \'u_int\', \'int\')); }' unless defined(&atomic_store_int); eval 'sub atomic_store_long { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, \'long\', \'u_long\', \'long\')); }' unless defined(&atomic_store_long); eval 'sub atomic_store_8 { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, &int8_t, &uint8_t, 8)); }' unless defined(&atomic_store_8); eval 'sub atomic_store_16 { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, &int16_t, &uint16_t, 16)); }' unless defined(&atomic_store_16); eval 'sub atomic_store_32 { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, &int32_t, &uint32_t, 32)); }' unless defined(&atomic_store_32); if(defined(&__LP64__)) { eval 'sub atomic_store_64 { my($p, $v) = @_; eval q( &__atomic_store_generic($p, $v, &int64_t, &uint64_t, 64)); }' unless defined(&atomic_store_64); } eval 'sub atomic_load_ptr { my($p) = @_; eval q((*( &volatile &__typeof(*$p) *)($p))); }' unless defined(&atomic_load_ptr); eval 'sub atomic_store_ptr { my($p, $v) = @_; eval q((*( &volatile &__typeof(*$p) *)($p) = ($v))); }' unless defined(&atomic_store_ptr); eval 'sub atomic_load_consume_ptr { my($p) = @_; eval q((( &__typeof(*$p)) &atomic_load_acq_ptr(( &uintptr_t *)$p))); }' unless defined(&atomic_load_consume_ptr); eval 'sub atomic_interrupt_fence () { eval q( &__compiler_membar()); }' unless defined(&atomic_interrupt_fence); } 1;