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] New: Bug with generation of float.h header file on AIX


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


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