H.3.1.1 Indicators
C’s <fenv.h> status flags are compatible with the LIA-1 indicators.
The following mapping is for floating-point types:
undefined FE_INVALID, FE_DIVBYZERO
floating_overflow FE_OVERFLOW
underflow FE_UNDERFLOW
The floating-point indicator interrogation and manipulation operations are:
set_indicators feraiseexcept(i)
clear_indicators feclearexcept(i)
test_indicators fetestexcept(i)
current_indicators fetestexcept(FE_ALL_EXCEPT)
where i is an expression of type int representing a subset of the LIA-1 indicators.
C allows an implementation to provide the following LIA-1 required behavior: at program termination if any indicator is set the implementation shall send an unambiguous and “hard to ignore” message (see LIA-1 subclause 6.1.2)
LIA-1 does not make the distinction between floating-point and integer for “undefined”. This documentation makes that distinction because <fenv.h> covers only the floating- point indicators.