#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
type fenv_t
type fexcept_t

optional-macro-int-constant FE_DIVBYZERO
optional-macro-int-constant FE_INEXACT
optional-macro-int-constant FE_INVALID
optional-macro-int-constant FE_OVERFLOW
optional-macro-int-constant FE_UNDERFLOW
macro-int-constant FE_ALL_EXCEPT

optional-macro-int-constant FE_DOWNWARD
optional-macro-int-constant FE_TONEAREST
optional-macro-int-constant FE_TOWARDZERO
optional-macro-int-constant FE_UPWARD

allow FE_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*

macro FE_DFL_ENV {const fenv_t *}

function int feclearexcept (int)
function int fegetexceptflag (fexcept_t*, int)
function int feraiseexcept (int)
function int fesetexceptflag (const fexcept_t*, int)
function int fetestexcept (int)
function int fegetround (void)
function int fesetround (int)
function int fegetenv (fenv_t*)
function int feholdexcept (fenv_t*)
function int fesetenv (const fenv_t*)
function int feupdateenv (const fenv_t *)

#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
#endif
#endif
