This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/46155] Bug with generation of float.h header file on AIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46155

--- Comment #9 from Dr. David Kirkby <david.kirkby at onetel dot net> 2010-10-24 16:10:30 UTC ---
(In reply to comment #8)
> On Sun, 24 Oct 2010, david.kirkby at onetel dot net wrote:
> 
> > I don't have a copy of the C standard. Is there one publicly available? In your
> > opinion, are IBM wrong to define fprnd_t in /usr/include/float.h? AIX 5.3 is a
> > POSIX certified operating system.
> 
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf

Thank you. Do you happen to have one for the C++ standards too? 

> > According to 
> > 
> > http://www.gnu.org/software/gnulib/manual/html_node/fesetround.html
> > 
> > fegetround() is not very portable, so I doubt the GSL developers would want to
> > use that. I've found GSL to be very portable. It seems to build on just about
> > anything - except AIX, unless one makes a few changes to a source file. 
> 
> All the systems listed there are old systems.  ISO C99 was published on 1 
> December 1999 - nearly 11 years ago.

Solaris 10 was only introduced in 2005, so Solaris 9 is not that old. To my
knowledge Cygwin does not support C99, though I know the GSL builds on Cygwin. 

It should also be noted that gcc is still not fully C99 compliant! 

http://gcc.gnu.org/c99status.html

11 years after the standard! 

> It appears that GSL has code that uses the C99 interfaces (fp-gnuc99.c).  

I'm a bit puzzled by that. Perhaps it only uses that when it knows the compiler
supports C99. 

> I'd advise using that in preference to all the other pre-C99 OS-specific 
> interfaces, whenever the C99 interfaces are available, rather than as the 
> very last alternative.  If AIX supports the C99 interfaces, that solves 
> your problem.

AIX 5.3 (released in 2004) fully supports the C99 standard, but earlier AIX
versions do not. However, I believe 5.2 supported most of it, so there may be
some argument here for using C99 code on AIX. 

I'm not a GSL developer, so the GSL developers would have to make the final
decision on that. But given GSL is very portable, I can imagine the developers
might be reluctant to change that. 

Dave


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]