Rainer Orth wrote:
Hi Kaveh,
I notice that the solaris_math_* fix hacks all seems to have a bypass clause
on "GNUC". Sometimes the solaris headers try to be gcc-aware. Is there a
GNUC appearing in solaris11's /usr/include/iso/math_c99.h header? And that
begs the question, why do these fix hacks have this GNUC bypass in the first
place?
<iso/math_c99.h> has indeed been made GCC-aware in Solaris 11, as Joseph
explained.
Thanks but I meant: of the many if-aborts, which is triggered when running
under gdb? That will tell us which builtin is failing. (May be they all
are.) I don't know what the header looks like to know what if anything
should be changed by fixincludes.
In c99-math-double-1.c, the first C99_MATH_TESTS invocation abort()s.
Single-stepping in gdb (which couldn't display the macro, even if compiled
with -g3 ;-) revealed that this clause
if (fetestexcept (FE_ALL_EXCEPT) != 0) \
abort(); \
fails. fetestexcept() returned 0x10, i.e. FE_INVALID.
Argh, you've beaten me ;)
The 'if (isinf (nan))' on line 62 of c99-math.h
changes the exception, a fetestexception(FE_ALL_EXCEPT) after this if
returns the 0x10. Before it was 0x0.
Andreas