Ian Lance Taylor <i...@google.com> writes: > On SVID-based systems, when certain math functions encounter an > exceptional condition they call a magic function named matherr. That > function is permitted to change the result which the math functions will > return. a program is permitted to provide its own version of matherr. > > Solaris works this way and at least the Solaris version of matherr does > not act as Go, or an ordinary interpretation of the function, would > expect. E.g., calling acos on an out-of-range value will return 0 > rather than NaN.
Unfortunately, this breaks the libgo build on Solaris 8 and 9: /vol/gcc/src/hg/trunk/local/libgo/runtime/go-matherr.c: In function 'matherr': /vol/gcc/src/hg/trunk/local/libgo/runtime/go-matherr.c:38:17: error: 'NAN' undeclared (first use in this function) /vol/gcc/src/hg/trunk/local/libgo/runtime/go-matherr.c:38:17: note: each undeclared identifier is reported only once for each function it appears in /vol/gcc/src/hg/trunk/local/libgo/runtime/go-matherr.c:68:28: error: 'INFINITY' undeclared (first use in this function) make[4]: *** [go-matherr.lo] Error 1 I couldn't find an appproprite replacement in the system headers. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University