This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/46155] New: 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 03:48:48 +0000
- Subject: [Bug c/46155] New: Bug with generation of float.h header file on AIX
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46155
Summary: Bug with generation of float.h header file on AIX
Product: gcc
Version: 4.2.4
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: david.kirkby@onetel.net
Hi,
I first posted this on the gcc-help mailing list, and was advised by Ian Lance
Taylor to post this as a bug.
On an IBM server running AIX 5.3, 'fprnd_t' is clearly defined in the IBM
system header file /usr/include/float.h
-bash-4.1$ grep fprnd_t /usr/include/float.h
typedef unsigned short fprnd_t;
fprnd_t fp_read_rnd();
fprnd_t fp_swap_rnd();
fprnd_t fp_read_rnd(void);
fprnd_t fp_swap_rnd(fprnd_t rnd);
as an unsigned short.
But when gcc is built, it creates several files called 'float.h', but all of
these lack any references at all to fprnd_t
-bash-4.1$ find /opt/pware -name float.h
/opt/pware/include/c++/4.2.4/tr1/float.h
/opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.4/include/float.h
/opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.4/install-tools/include/float.h
-bash-4.1$ grep fprnd_t /opt/pware/include/c++/4.2.4/tr1/float.h
-bash-4.1$ grep fprnd_t
/opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.4/include/float.h
-bash-4.1$ grep fprnd_t
/opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.4/install-tools/include/float.h
This is from a gcc 4.2.4 binary downloaded from pware. I've run the 'mkheaders'
file, but that does not solve the problem.
Clearly this problem has existed for some time, as it has caused problems with
the GNU Scientific library for years. (just Google gsl aix). I found a
reference going back as far as 2002, but here's a more recent (and hopefully
useful) post on the matter.
http://www.mail-archive.com/bug-gsl@gnu.org/msg01301.html
As you can see, I'm trying to work around this in gsl with autoconf in GSL,
but ultimately it seems to be a GCC bug and not a GSL bug, so should be fixed
in GCC and not in GSL.
I'm attaching a copy of the IBM system header file:
/usr/include/float.h
as well as the float.h from
/opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.4/include/float.h
If gcc developers do not have easy access to an AIX system, I can provide
access to AIX hardware.
Dave