This patch adds a predefined macro __NO_MATH_ERRNO__ for when
-fno-math-errno is passed or implied. This allows math.h to provide a
more accurate definition of the C99 math_errhandling macro that takes
this option into account, and allows for choice of libm functions to
be optimized at compile time based on this option.
(There may be a case for such interfaces for -fno-rounding-math
(default) and -fno-trapping-math as well, but as C99 standard pragmas
would allow those to vary on a per-block basis, predefined macros
would be problematic as the interface; you can't select a
-fno-trapping-math or -fno-rounding-math version of a function in a
standard header if a conforming program could then use "#pragma STDC
FENV_ACCESS ON" to require a -ftrapping-math -frounding-math version
in a particular block. So built-in functions might be a better way of
providing access to information about those options.)
Bootstrapped with no regressions on x86_64-unknown-linux-gnu. OK to
commit?