require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_ARM_INT_LIMITS_H_)) {
    eval 'sub _ARM_INT_LIMITS_H_ () {1;}' unless defined(&_ARM_INT_LIMITS_H_);
    if(defined(&__SIG_ATOMIC_MAX__)) {
	require 'sys/common_int_limits.ph';
    } else {
	eval 'sub INT8_MIN () {(-0x7f-1);}' unless defined(&INT8_MIN);
	eval 'sub INT16_MIN () {(-0x7fff-1);}' unless defined(&INT16_MIN);
	eval 'sub INT32_MIN () {(-0x7fffffff-1);}' unless defined(&INT32_MIN);
	eval 'sub INT64_MIN () {(-0x7fffffffffffffff-1);}' unless defined(&INT64_MIN);
	eval 'sub INT8_MAX () {0x7f;}' unless defined(&INT8_MAX);
	eval 'sub INT16_MAX () {0x7fff;}' unless defined(&INT16_MAX);
	eval 'sub INT32_MAX () {0x7fffffff;}' unless defined(&INT32_MAX);
	eval 'sub INT64_MAX () {0x7fffffffffffffff;}' unless defined(&INT64_MAX);
	eval 'sub UINT8_MAX () {0xff;}' unless defined(&UINT8_MAX);
	eval 'sub UINT16_MAX () {0xffff;}' unless defined(&UINT16_MAX);
	eval 'sub UINT32_MAX () {0xffffffff;}' unless defined(&UINT32_MAX);
	eval 'sub UINT64_MAX () {0xffffffffffffffff;}' unless defined(&UINT64_MAX);
	eval 'sub INT_LEAST8_MIN () {(-0x7f-1);}' unless defined(&INT_LEAST8_MIN);
	eval 'sub INT_LEAST16_MIN () {(-0x7fff-1);}' unless defined(&INT_LEAST16_MIN);
	eval 'sub INT_LEAST32_MIN () {(-0x7fffffff-1);}' unless defined(&INT_LEAST32_MIN);
	eval 'sub INT_LEAST64_MIN () {(-0x7fffffffffffffff-1);}' unless defined(&INT_LEAST64_MIN);
	eval 'sub INT_LEAST8_MAX () {0x7f;}' unless defined(&INT_LEAST8_MAX);
	eval 'sub INT_LEAST16_MAX () {0x7fff;}' unless defined(&INT_LEAST16_MAX);
	eval 'sub INT_LEAST32_MAX () {0x7fffffff;}' unless defined(&INT_LEAST32_MAX);
	eval 'sub INT_LEAST64_MAX () {0x7fffffffffffffff;}' unless defined(&INT_LEAST64_MAX);
	eval 'sub UINT_LEAST8_MAX () {0xff;}' unless defined(&UINT_LEAST8_MAX);
	eval 'sub UINT_LEAST16_MAX () {0xffff;}' unless defined(&UINT_LEAST16_MAX);
	eval 'sub UINT_LEAST32_MAX () {0xffffffff;}' unless defined(&UINT_LEAST32_MAX);
	eval 'sub UINT_LEAST64_MAX () {0xffffffffffffffff;}' unless defined(&UINT_LEAST64_MAX);
	eval 'sub INT_FAST8_MIN () {(-0x7fffffff-1);}' unless defined(&INT_FAST8_MIN);
	eval 'sub INT_FAST16_MIN () {(-0x7fffffff-1);}' unless defined(&INT_FAST16_MIN);
	eval 'sub INT_FAST32_MIN () {(-0x7fffffff-1);}' unless defined(&INT_FAST32_MIN);
	eval 'sub INT_FAST64_MIN () {(-0x7fffffffffffffff-1);}' unless defined(&INT_FAST64_MIN);
	eval 'sub INT_FAST8_MAX () {0x7fffffff;}' unless defined(&INT_FAST8_MAX);
	eval 'sub INT_FAST16_MAX () {0x7fffffff;}' unless defined(&INT_FAST16_MAX);
	eval 'sub INT_FAST32_MAX () {0x7fffffff;}' unless defined(&INT_FAST32_MAX);
	eval 'sub INT_FAST64_MAX () {0x7fffffffffffffff;}' unless defined(&INT_FAST64_MAX);
	eval 'sub UINT_FAST8_MAX () {0xffffffff;}' unless defined(&UINT_FAST8_MAX);
	eval 'sub UINT_FAST16_MAX () {0xffffffff;}' unless defined(&UINT_FAST16_MAX);
	eval 'sub UINT_FAST32_MAX () {0xffffffff;}' unless defined(&UINT_FAST32_MAX);
	eval 'sub UINT_FAST64_MAX () {0xffffffffffffffff;}' unless defined(&UINT_FAST64_MAX);
	if(defined(&_LP64)) {
	    eval 'sub INTPTR_MIN () {(-0x7fffffffffffffff-1);}' unless defined(&INTPTR_MIN);
	    eval 'sub INTPTR_MAX () {0x7fffffffffffffff;}' unless defined(&INTPTR_MAX);
	    eval 'sub UINTPTR_MAX () {0xffffffffffffffff;}' unless defined(&UINTPTR_MAX);
	} else {
	    eval 'sub INTPTR_MIN () {(-0x7fffffff-1);}' unless defined(&INTPTR_MIN);
	    eval 'sub INTPTR_MAX () {0x7fffffff;}' unless defined(&INTPTR_MAX);
	    eval 'sub UINTPTR_MAX () {0xffffffff;}' unless defined(&UINTPTR_MAX);
	}
	eval 'sub INTMAX_MIN () {(-0x7fffffffffffffff-1);}' unless defined(&INTMAX_MIN);
	eval 'sub INTMAX_MAX () {0x7fffffffffffffff;}' unless defined(&INTMAX_MAX);
	eval 'sub UINTMAX_MAX () {0xffffffffffffffff;}' unless defined(&UINTMAX_MAX);
	if(defined(&_LP64)) {
	    eval 'sub PTRDIFF_MIN () {(-0x7fffffffffffffff-1);}' unless defined(&PTRDIFF_MIN);
	    eval 'sub PTRDIFF_MAX () {0x7fffffffffffffff;}' unless defined(&PTRDIFF_MAX);
	} else {
	    eval 'sub PTRDIFF_MIN () {(-0x7fffffff-1);}' unless defined(&PTRDIFF_MIN);
	    eval 'sub PTRDIFF_MAX () {0x7fffffff;}' unless defined(&PTRDIFF_MAX);
	}
	eval 'sub SIG_ATOMIC_MIN () {(-0x7fffffff-1);}' unless defined(&SIG_ATOMIC_MIN);
	eval 'sub SIG_ATOMIC_MAX () {0x7fffffff;}' unless defined(&SIG_ATOMIC_MAX);
	if(defined(&_LP64)) {
	    eval 'sub SIZE_MAX () {0xffffffffffffffff;}' unless defined(&SIZE_MAX);
	} else {
	    eval 'sub SIZE_MAX () {0xffffffff;}' unless defined(&SIZE_MAX);
	}
    }
}
1;
