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

Reply via email to