c99-math execute failures on sparc-sun-solaris2.11

Andreas Tobler andreast-list@fgznet.ch
Tue Feb 5 19:59:00 GMT 2008


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



More information about the Gcc mailing list