require '_h2ph_pre.ph'; no warnings 'redefine'; unless(defined(&_ASM_GENERIC_BUG_H)) { eval 'sub _ASM_GENERIC_BUG_H () {1;}' unless defined(&_ASM_GENERIC_BUG_H); require 'linux/compiler.ph'; if(defined(&CONFIG_BUG)) { unless(defined(&HAVE_ARCH_BUG)) { eval 'sub BUG () { eval q( &do { &printk(\\"BUG: failure at %s:%d/%s()!\\\\n\\", &__FILE__, &__LINE__, &__FUNCTION__); &panic(\\"BUG!\\"); } &while (0)); }' unless defined(&BUG); } unless(defined(&HAVE_ARCH_BUG_ON)) { eval 'sub BUG_ON { my($condition) = @_; eval q( &do { &if ( &unlikely(($condition)!=0)) &BUG(); } &while(0)); }' unless defined(&BUG_ON); } unless(defined(&HAVE_ARCH_WARN_ON)) { eval 'sub WARN_ON { my($condition) = @_; eval q( &do { &if ( &unlikely(($condition)!=0)) { &printk(\\"BUG: warning at %s:%d/%s()\\\\n\\", &__FILE__, &__LINE__, &__FUNCTION__); &dump_stack(); } } &while (0)); }' unless defined(&WARN_ON); } } else { unless(defined(&HAVE_ARCH_BUG)) { eval 'sub BUG () { eval q(); }' unless defined(&BUG); } unless(defined(&HAVE_ARCH_BUG_ON)) { eval 'sub BUG_ON { my($condition) = @_; eval q( &do { &if ($condition) ; } &while(0)); }' unless defined(&BUG_ON); } unless(defined(&HAVE_ARCH_WARN_ON)) { eval 'sub WARN_ON { my($condition) = @_; eval q( &do { &if ($condition) ; } &while(0)); }' unless defined(&WARN_ON); } } eval 'sub WARN_ON_ONCE { my($condition) = @_; eval q(({ &static \'int\' &__warn_once = 1; \'int\' &__ret = 0; &if ( &unlikely(($condition) && &__warn_once)) { &__warn_once = 0; &WARN_ON(1); &__ret = 1; } &__ret; })); }' unless defined(&WARN_ON_ONCE); if(defined(&CONFIG_SMP)) { eval 'sub WARN_ON_SMP { my($x) = @_; eval q( &WARN_ON($x)); }' unless defined(&WARN_ON_SMP); } else { eval 'sub WARN_ON_SMP { my($x) = @_; eval q( &do { } &while (0)); }' unless defined(&WARN_ON_SMP); } } 1;