require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_ARM_FENV_H_)) {
    eval 'sub _ARM_FENV_H_ () {1;}' unless defined(&_ARM_FENV_H_);
    require 'sys/cdefs.ph';
    if(defined(&__ARM_PCS_AAPCS64)) {
    } else {
    }
    eval 'sub FE_INVALID () {0x1;}' unless defined(&FE_INVALID);
    eval 'sub FE_DIVBYZERO () {0x2;}' unless defined(&FE_DIVBYZERO);
    eval 'sub FE_OVERFLOW () {0x4;}' unless defined(&FE_OVERFLOW);
    eval 'sub FE_UNDERFLOW () {0x8;}' unless defined(&FE_UNDERFLOW);
    eval 'sub FE_INEXACT () {0x10;}' unless defined(&FE_INEXACT);
    eval 'sub FE_ALL_EXCEPT () {0x1f;}' unless defined(&FE_ALL_EXCEPT);
    eval 'sub FE_TONEAREST () {0;}' unless defined(&FE_TONEAREST);
    eval 'sub FE_UPWARD () {1;}' unless defined(&FE_UPWARD);
    eval 'sub FE_DOWNWARD () {2;}' unless defined(&FE_DOWNWARD);
    eval 'sub FE_TOWARDZERO () {3;}' unless defined(&FE_TOWARDZERO);
    if(defined(&__SOFTFP__)) {
	require 'arm/vfpreg.ph';
	eval 'sub __FENV_GET_FLAGS {
	    my($__envp) = @_;
    	    eval q( &__SHIFTOUT(*($__envp),  &VFP_FPSCR_CSUM));
	}' unless defined(&__FENV_GET_FLAGS);
	eval 'sub __FENV_GET_MASK {
	    my($__envp) = @_;
    	    eval q( &__SHIFTOUT(*($__envp),  &VFP_FPSCR_ESUM));
	}' unless defined(&__FENV_GET_MASK);
	eval 'sub __FENV_GET_ROUND {
	    my($__envp) = @_;
    	    eval q( &__SHIFTOUT(*($__envp),  &VFP_FPSCR_RMODE));
	}' unless defined(&__FENV_GET_ROUND);
	eval 'sub __FENV_SET_FLAGS {
	    my($__envp, $__val) = @_;
    	    eval q(*($__envp) =  &__SHIFTIN(($__val),  &VFP_FPSCR_CSUM));
	}' unless defined(&__FENV_SET_FLAGS);
	eval 'sub __FENV_SET_MASK {
	    my($__envp, $__val) = @_;
    	    eval q(*($__envp) =  &__SHIFTIN(($__val),  &VFP_FPSCR_ESUM));
	}' unless defined(&__FENV_SET_MASK);
	eval 'sub __FENV_SET_ROUND {
	    my($__envp, $__val) = @_;
    	    eval q(*($__envp) =  &__SHIFTIN(($__val),  &VFP_FPSCR_RMODE));
	}' unless defined(&__FENV_SET_ROUND);
	eval 'sub __HAVE_FENV_SOFTFLOAT_DEFS () {1;}' unless defined(&__HAVE_FENV_SOFTFLOAT_DEFS);
    }
    eval 'sub FE_DFL_ENV () {(& &__fe_dfl_env);}' unless defined(&FE_DFL_ENV);
}
1;
