require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&__krb5_private_h__)) {
    eval 'sub __krb5_private_h__ () {1;}' unless defined(&__krb5_private_h__);
    require 'stdarg.ph';
    if(!defined(&__GNUC__)  && !defined(&__attribute__)) {
	eval 'sub __attribute__ {
	    my($x) = @_;
    	    eval q();
	}' unless defined(&__attribute__);
    }
    unless(defined(&KRB5_DEPRECATED_FUNCTION)) {
	unless(defined(&__has_extension)) {
	    eval 'sub __has_extension {
	        my($x) = @_;
    		eval q(0);
	    }' unless defined(&__has_extension);
	    eval 'sub KRB5_DEPRECATED_FUNCTIONhas_extension () {1;}' unless defined(&KRB5_DEPRECATED_FUNCTIONhas_extension);
	}
	if( &__has_extension((defined(&attribute_deprecated_with_message) ? &attribute_deprecated_with_message : undef))) {
	    eval 'sub KRB5_DEPRECATED_FUNCTION {
	        my($x) = @_;
    		eval q( &__attribute__(( &__deprecated__($x))));
	    }' unless defined(&KRB5_DEPRECATED_FUNCTION);
	}
 elsif(defined(&__GNUC__)  && (((defined(&__GNUC__) ? &__GNUC__ : undef) > 3) || (((defined(&__GNUC__) ? &__GNUC__ : undef) == 3)  && ((defined(&__GNUC_MINOR__) ? &__GNUC_MINOR__ : undef) >= 1)))) {
	    eval 'sub KRB5_DEPRECATED_FUNCTION {
	        my($X) = @_;
    		eval q( &__attribute__(( &__deprecated__)));
	    }' unless defined(&KRB5_DEPRECATED_FUNCTION);
	} else {
	    eval 'sub KRB5_DEPRECATED_FUNCTION {
	        my($X) = @_;
    		eval q();
	    }' unless defined(&KRB5_DEPRECATED_FUNCTION);
	}
	if(defined(&KRB5_DEPRECATED_FUNCTIONhas_extension)) {
	    undef(&__has_extension) if defined(&__has_extension);
	    undef(&KRB5_DEPRECATED_FUNCTIONhas_extension) if defined(&KRB5_DEPRECATED_FUNCTIONhas_extension);
	}
    }
    undef(&KRB5_DEPRECATED_FUNCTION) if defined(&KRB5_DEPRECATED_FUNCTION);
    eval 'sub KRB5_DEPRECATED_FUNCTION {
        my($X) = @_;
	    eval q();
    }' unless defined(&KRB5_DEPRECATED_FUNCTION);
}
1;
