require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_SYS_COMMON_INT_LIMITS_H_)) {
    eval 'sub _SYS_COMMON_INT_LIMITS_H_ () {1;}' unless defined(&_SYS_COMMON_INT_LIMITS_H_);
    unless(defined(&__SIG_ATOMIC_MAX__)) {
	die("Your\ compiler\ does\ not\ provide\ limit\ macros\.");
    }
    eval 'sub INT8_MIN () {(- &__INT8_MAX__-1);}' unless defined(&INT8_MIN);
    eval 'sub INT16_MIN () {(- &__INT16_MAX__-1);}' unless defined(&INT16_MIN);
    eval 'sub INT32_MIN () {(- &__INT32_MAX__-1);}' unless defined(&INT32_MIN);
    eval 'sub INT64_MIN () {(- &__INT64_MAX__-1);}' unless defined(&INT64_MIN);
    eval 'sub INT8_MAX () { &__INT8_MAX__;}' unless defined(&INT8_MAX);
    eval 'sub INT16_MAX () { &__INT16_MAX__;}' unless defined(&INT16_MAX);
    eval 'sub INT32_MAX () { &__INT32_MAX__;}' unless defined(&INT32_MAX);
    eval 'sub INT64_MAX () { &__INT64_MAX__;}' unless defined(&INT64_MAX);
    eval 'sub UINT8_MAX () { &__UINT8_MAX__;}' unless defined(&UINT8_MAX);
    eval 'sub UINT16_MAX () { &__UINT16_MAX__;}' unless defined(&UINT16_MAX);
    eval 'sub UINT32_MAX () { &__UINT32_MAX__;}' unless defined(&UINT32_MAX);
    eval 'sub UINT64_MAX () { &__UINT64_MAX__;}' unless defined(&UINT64_MAX);
    eval 'sub INT_LEAST8_MIN () {(- &__INT_LEAST8_MAX__-1);}' unless defined(&INT_LEAST8_MIN);
    eval 'sub INT_LEAST16_MIN () {(- &__INT_LEAST16_MAX__-1);}' unless defined(&INT_LEAST16_MIN);
    eval 'sub INT_LEAST32_MIN () {(- &__INT_LEAST32_MAX__-1);}' unless defined(&INT_LEAST32_MIN);
    eval 'sub INT_LEAST64_MIN () {(- &__INT_LEAST64_MAX__-1);}' unless defined(&INT_LEAST64_MIN);
    eval 'sub INT_LEAST8_MAX () { &__INT_LEAST8_MAX__;}' unless defined(&INT_LEAST8_MAX);
    eval 'sub INT_LEAST16_MAX () { &__INT_LEAST16_MAX__;}' unless defined(&INT_LEAST16_MAX);
    eval 'sub INT_LEAST32_MAX () { &__INT_LEAST32_MAX__;}' unless defined(&INT_LEAST32_MAX);
    eval 'sub INT_LEAST64_MAX () { &__INT_LEAST64_MAX__;}' unless defined(&INT_LEAST64_MAX);
    eval 'sub UINT_LEAST8_MAX () { &__UINT_LEAST8_MAX__;}' unless defined(&UINT_LEAST8_MAX);
    eval 'sub UINT_LEAST16_MAX () { &__UINT_LEAST16_MAX__;}' unless defined(&UINT_LEAST16_MAX);
    eval 'sub UINT_LEAST32_MAX () { &__UINT_LEAST32_MAX__;}' unless defined(&UINT_LEAST32_MAX);
    eval 'sub UINT_LEAST64_MAX () { &__UINT_LEAST64_MAX__;}' unless defined(&UINT_LEAST64_MAX);
    eval 'sub INT_FAST8_MIN () {(- &__INT_FAST8_MAX__-1);}' unless defined(&INT_FAST8_MIN);
    eval 'sub INT_FAST16_MIN () {(- &__INT_FAST16_MAX__-1);}' unless defined(&INT_FAST16_MIN);
    eval 'sub INT_FAST32_MIN () {(- &__INT_FAST32_MAX__-1);}' unless defined(&INT_FAST32_MIN);
    eval 'sub INT_FAST64_MIN () {(- &__INT_FAST64_MAX__-1);}' unless defined(&INT_FAST64_MIN);
    eval 'sub INT_FAST8_MAX () { &__INT_FAST8_MAX__;}' unless defined(&INT_FAST8_MAX);
    eval 'sub INT_FAST16_MAX () { &__INT_FAST16_MAX__;}' unless defined(&INT_FAST16_MAX);
    eval 'sub INT_FAST32_MAX () { &__INT_FAST32_MAX__;}' unless defined(&INT_FAST32_MAX);
    eval 'sub INT_FAST64_MAX () { &__INT_FAST64_MAX__;}' unless defined(&INT_FAST64_MAX);
    eval 'sub UINT_FAST8_MAX () { &__UINT_FAST8_MAX__;}' unless defined(&UINT_FAST8_MAX);
    eval 'sub UINT_FAST16_MAX () { &__UINT_FAST16_MAX__;}' unless defined(&UINT_FAST16_MAX);
    eval 'sub UINT_FAST32_MAX () { &__UINT_FAST32_MAX__;}' unless defined(&UINT_FAST32_MAX);
    eval 'sub UINT_FAST64_MAX () { &__UINT_FAST64_MAX__;}' unless defined(&UINT_FAST64_MAX);
    eval 'sub INTPTR_MIN () {(- &__INTPTR_MAX__-1);}' unless defined(&INTPTR_MIN);
    eval 'sub INTPTR_MAX () { &__INTPTR_MAX__;}' unless defined(&INTPTR_MAX);
    eval 'sub UINTPTR_MAX () { &__UINTPTR_MAX__;}' unless defined(&UINTPTR_MAX);
    eval 'sub INTMAX_MIN () {(- &__INTMAX_MAX__-1);}' unless defined(&INTMAX_MIN);
    eval 'sub INTMAX_MAX () { &__INTMAX_MAX__;}' unless defined(&INTMAX_MAX);
    eval 'sub UINTMAX_MAX () { &__UINTMAX_MAX__;}' unless defined(&UINTMAX_MAX);
    eval 'sub PTRDIFF_MIN () {(- &__PTRDIFF_MAX__-1);}' unless defined(&PTRDIFF_MIN);
    eval 'sub PTRDIFF_MAX () { &__PTRDIFF_MAX__;}' unless defined(&PTRDIFF_MAX);
    eval 'sub SIG_ATOMIC_MIN () {(- &__SIG_ATOMIC_MAX__-1);}' unless defined(&SIG_ATOMIC_MIN);
    eval 'sub SIG_ATOMIC_MAX () { &__SIG_ATOMIC_MAX__;}' unless defined(&SIG_ATOMIC_MAX);
    eval 'sub SIZE_MAX () { &__SIZE_MAX__;}' unless defined(&SIZE_MAX);
}
1;
