require '_h2ph_pre.ph';

no warnings 'redefine';

require 'sys/cdefs.ph';
undef(&assert) if defined(&assert);
undef(&_assert) if defined(&_assert);
if(defined(&NDEBUG)) {
    eval 'sub assert {
        my($e) = @_;
	    eval q((( &void)0));
    }' unless defined(&assert);
    eval 'sub _assert {
        my($e) = @_;
	    eval q((( &void)0));
    }' unless defined(&_assert);
} else {
    eval 'sub _assert {
        my($e) = @_;
	    eval q( &assert($e));
    }' unless defined(&_assert);
    if((defined(&__ISO_C_VISIBLE) ? &__ISO_C_VISIBLE : 0) >= 1999) {
	eval 'sub assert {
	    my($e) = @_;
    	    eval q((($e) ? ( &void)0:  &__assert2( &__FILE__,  &__LINE__,  &__func__, $e)));
	}' unless defined(&assert);
    } else {
	eval 'sub assert {
	    my($e) = @_;
    	    eval q((($e) ? ( &void)0:  &__assert( &__FILE__,  &__LINE__, $e)));
	}' unless defined(&assert);
    }
}
1;
