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 #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.


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