require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_SYS_COMMON_INT_CONST_H_)) {
    eval 'sub _SYS_COMMON_INT_CONST_H_ () {1;}' unless defined(&_SYS_COMMON_INT_CONST_H_);
    unless(defined(&__INTMAX_C_SUFFIX__)) {
	die("Your\ compiler\ does\ not\ provide\ integer\ constant\ suffix\ macros\.");
    }
    eval 'sub __int_join_ {
        my($c,$suffix) = @_;
	    eval q($c  $suffix);
    }' unless defined(&__int_join_);
    eval 'sub __int_join {
        my($c,$suffix) = @_;
	    eval q( &__int_join_($c,$suffix));
    }' unless defined(&__int_join);
    eval 'sub INT8_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__INT8_C_SUFFIX__));
    }' unless defined(&INT8_C);
    eval 'sub INT16_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__INT16_C_SUFFIX__));
    }' unless defined(&INT16_C);
    eval 'sub INT32_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__INT32_C_SUFFIX__));
    }' unless defined(&INT32_C);
    eval 'sub INT64_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__INT64_C_SUFFIX__));
    }' unless defined(&INT64_C);
    eval 'sub UINT8_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__UINT8_C_SUFFIX__));
    }' unless defined(&UINT8_C);
    eval 'sub UINT16_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__UINT16_C_SUFFIX__));
    }' unless defined(&UINT16_C);
    eval 'sub UINT32_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__UINT32_C_SUFFIX__));
    }' unless defined(&UINT32_C);
    eval 'sub UINT64_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__UINT64_C_SUFFIX__));
    }' unless defined(&UINT64_C);
    eval 'sub INTMAX_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__INTMAX_C_SUFFIX__));
    }' unless defined(&INTMAX_C);
    eval 'sub UINTMAX_C {
        my($c) = @_;
	    eval q( &__int_join($c,  &__UINTMAX_C_SUFFIX__));
    }' unless defined(&UINTMAX_C);
}
1;
