This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/46155] Bug with generation of float.h header file on AIX
- From: "david.kirkby at onetel dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 24 Oct 2010 16:10:35 +0000
- Subject: [Bug c/46155] Bug with generation of float.h header file on AIX
- Auto-submitted: auto-generated
- References: <bug-46155-4@http.gcc.gnu.org/bugzilla/>
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