require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_STDARG_H_)) {
    eval 'sub _STDARG_H_ () {1;}' unless defined(&_STDARG_H_);
    require 'sys/cdefs.ph';
    if((defined( &__GNUC__)  && (defined(&__GNUC__) ? &__GNUC__ : undef) >= 3) || defined( &__PCC__)) {
	unless(defined(&__GNUC_VA_LIST)) {
	    eval 'sub __GNUC_VA_LIST () {1;}' unless defined(&__GNUC_VA_LIST);
	}
	eval 'sub va_start {
	    my($ap, $last) = @_;
    	    eval q( &__builtin_va_start(($ap), $last));
	}' unless defined(&va_start);
	eval 'sub va_end () { &__builtin_va_end;}' unless defined(&va_end);
	eval 'sub va_arg () { &__builtin_va_arg;}' unless defined(&va_arg);
	eval 'sub __va_copy {
	    my($dst, $src) = @_;
    	    eval q( &__builtin_va_copy(($dst),($src)));
	}' unless defined(&__va_copy);
    } else {
	require 'machine/stdarg.ph';
    }
    if((defined(&__ISO_C_VISIBLE) ? &__ISO_C_VISIBLE : undef) >= 1999) {
	eval 'sub va_copy {
	    my($dst, $src) = @_;
    	    eval q( &__va_copy(($dst), ($src)));
	}' unless defined(&va_copy);
    }
}
1;
