require '_h2ph_pre.ph'; no warnings 'redefine'; unless(defined(&_ASM_GENERIC_ATOMIC_H)) { eval 'sub _ASM_GENERIC_ATOMIC_H () {1;}' unless defined(&_ASM_GENERIC_ATOMIC_H); require 'asm/types.ph'; if((defined(&BITS_PER_LONG) ? &BITS_PER_LONG : 0) == 64) { eval 'sub ATOMIC_LONG_INIT { my($i) = @_; eval q( &ATOMIC64_INIT($i)); }' unless defined(&ATOMIC_LONG_INIT); eval 'sub atomic_long_read { my($l) = @_; eval q({ &atomic64_t * &v = ( &atomic64_t *)$l; &atomic64_read( &v); }); }' unless defined(&atomic_long_read); eval 'sub atomic_long_set { my($l,$i) = @_; eval q({ &atomic64_t * &v = ( &atomic64_t *)$l; &atomic64_set( &v, $i); }); }' unless defined(&atomic_long_set); eval 'sub atomic_long_inc { my($l) = @_; eval q({ &atomic64_t * &v = ( &atomic64_t *)$l; &atomic64_inc( &v); }); }' unless defined(&atomic_long_inc); eval 'sub atomic_long_dec { my($l) = @_; eval q({ &atomic64_t * &v = ( &atomic64_t *)$l; &atomic64_dec( &v); }); }' unless defined(&atomic_long_dec); eval 'sub atomic_long_add { my($i,$l) = @_; eval q({ &atomic64_t * &v = ( &atomic64_t *)$l; &atomic64_add($i, &v); }); }' unless defined(&atomic_long_add); eval 'sub atomic_long_sub { my($i,$l) = @_; eval q({ &atomic64_t * &v = ( &atomic64_t *)$l; &atomic64_sub($i, &v); }); }' unless defined(&atomic_long_sub); } else { eval 'sub ATOMIC_LONG_INIT { my($i) = @_; eval q( &ATOMIC_INIT($i)); }' unless defined(&ATOMIC_LONG_INIT); eval 'sub atomic_long_read { my($l) = @_; eval q({ &atomic_t * &v = ( &atomic_t *)$l; &atomic_read( &v); }); }' unless defined(&atomic_long_read); eval 'sub atomic_long_set { my($l,$i) = @_; eval q({ &atomic_t * &v = ( &atomic_t *)$l; &atomic_set( &v, $i); }); }' unless defined(&atomic_long_set); eval 'sub atomic_long_inc { my($l) = @_; eval q({ &atomic_t * &v = ( &atomic_t *)$l; &atomic_inc( &v); }); }' unless defined(&atomic_long_inc); eval 'sub atomic_long_dec { my($l) = @_; eval q({ &atomic_t * &v = ( &atomic_t *)$l; &atomic_dec( &v); }); }' unless defined(&atomic_long_dec); eval 'sub atomic_long_add { my($i,$l) = @_; eval q({ &atomic_t * &v = ( &atomic_t *)$l; &atomic_add($i, &v); }); }' unless defined(&atomic_long_add); eval 'sub atomic_long_sub { my($i,$l) = @_; eval q({ &atomic_t * &v = ( &atomic_t *)$l; &atomic_sub($i, &v); }); }' unless defined(&atomic_long_sub); } } 1;