%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/perl5/site_perl/mach/5.32/sys/
Upload File :
Create Path :
Current File : //usr/local/lib/perl5/site_perl/mach/5.32/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");
    }
    eval 'sub atomic_load_char {
        my($p) = @_;
	    eval q((*( &volatile \'u_char\' *)($p)));
    }' unless defined(&atomic_load_char);
    eval 'sub atomic_load_short {
        my($p) = @_;
	    eval q((*( &volatile \'u_short\' *)($p)));
    }' unless defined(&atomic_load_short);
    eval 'sub atomic_load_int {
        my($p) = @_;
	    eval q((*( &volatile \'u_int\' *)($p)));
    }' unless defined(&atomic_load_int);
    eval 'sub atomic_load_long {
        my($p) = @_;
	    eval q((*( &volatile \'u_long\' *)($p)));
    }' unless defined(&atomic_load_long);
    eval 'sub atomic_load_ptr {
        my($p) = @_;
	    eval q((*( &volatile  &__typeof(*$p) *)($p)));
    }' unless defined(&atomic_load_ptr);
    eval 'sub atomic_load_8 {
        my($p) = @_;
	    eval q((*( &volatile  &uint8_t *)($p)));
    }' unless defined(&atomic_load_8);
    eval 'sub atomic_load_16 {
        my($p) = @_;
	    eval q((*( &volatile  &uint16_t *)($p)));
    }' unless defined(&atomic_load_16);
    eval 'sub atomic_load_32 {
        my($p) = @_;
	    eval q((*( &volatile  &uint32_t *)($p)));
    }' unless defined(&atomic_load_32);
    if(defined(&_LP64)) {
	eval 'sub atomic_load_64 {
	    my($p) = @_;
    	    eval q((*( &volatile  &uint64_t *)($p)));
	}' unless defined(&atomic_load_64);
    }
    eval 'sub atomic_store_char {
        my($p, $v) = @_;
	    eval q((*( &volatile \'u_char\' *) = ($v)));
    }' unless defined(&atomic_store_char);
    eval 'sub atomic_store_short {
        my($p, $v) = @_;
	    eval q((*( &volatile \'u_short\' *) = ($v)));
    }' unless defined(&atomic_store_short);
    eval 'sub atomic_store_int {
        my($p, $v) = @_;
	    eval q((*( &volatile \'u_int\' *) = ($v)));
    }' unless defined(&atomic_store_int);
    eval 'sub atomic_store_long {
        my($p, $v) = @_;
	    eval q((*( &volatile \'u_long\' *) = ($v)));
    }' unless defined(&atomic_store_long);
    eval 'sub atomic_store_ptr {
        my($p, $v) = @_;
	    eval q((*( &volatile  &__typeof(*$p) *)($p) = ($v)));
    }' unless defined(&atomic_store_ptr);
    eval 'sub atomic_store_8 {
        my($p, $v) = @_;
	    eval q((*( &volatile  &uint8_t *)($p) = ( &uint8_t)($v)));
    }' unless defined(&atomic_store_8);
    eval 'sub atomic_store_16 {
        my($p, $v) = @_;
	    eval q((*( &volatile  &uint16_t *)($p) = ( &uint16_t)($v)));
    }' unless defined(&atomic_store_16);
    eval 'sub atomic_store_32 {
        my($p, $v) = @_;
	    eval q((*( &volatile  &uint32_t *)($p) = ( &uint32_t)($v)));
    }' unless defined(&atomic_store_32);
    if(defined(&_LP64)) {
	eval 'sub atomic_store_64 {
	    my($p, $v) = @_;
    	    eval q((*( &volatile  &uint64_t *)($p) = ( &uint64_t)($v)));
	}' unless defined(&atomic_store_64);
    }
    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;

Zerion Mini Shell 1.0