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: "joseph at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 24 Oct 2010 14:07:29 +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 #5 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-10-24 14:07:25 UTC ---
On Sun, 24 Oct 2010, david.kirkby at onetel dot net wrote:
> 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
Indeed, fprnd_t is not a type that ISO C permits to be declared in
float.h, and nor are the other identifiers in a reserved namespace. So
certainly in ISO C mode GCC's float.h must not include those declarations.
I haven't seen documentation for those functions and types, but they sound
rather like they should be obsoleted by the standard <fenv.h> facilities
such as fegetround and fesetround.