libstdc++/2311

bkoz@gcc.gnu.org bkoz@gcc.gnu.org
Mon Mar 19 12:56:00 GMT 2001


The following reply was made to PR libstdc++/2311; it has been noted by GNATS.

From: bkoz@gcc.gnu.org
To: bkoz@gcc.gnu.org, gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org,
  pcarlini@unitus.it
Cc:  
Subject: Re: libstdc++/2311
Date: 19 Mar 2001 20:50:45 -0000

 Synopsis: isnan(), isinf(), etc, not undefined
 
 Responsible-Changed-From-To: unassigned->bkoz
 Responsible-Changed-By: bkoz
 Responsible-Changed-When: Mon Mar 19 12:50:45 2001
 Responsible-Changed-Why:
     Responsible
 State-Changed-From-To: open->feedback
 State-Changed-By: bkoz
 State-Changed-When: Mon Mar 19 12:50:45 2001
 State-Changed-Why:
     A couple of issues:
     
     1) iso 14882 (c++) 26.5 says nothing about these macros
     2) iso 9998 (c) 7.12.3 Classification macros
     #include <math.h>
     int isnan(real-floating x);
     
     Note the differce: standards-specify one argument. 
     
     I suppose this doesn't really matter, and that v3 should not have these macros in its namespace.
     
     
     The macros usage is turned on by this define in math.h:
     
     /* ISO C99 defines some generic macros which work on any data type.  */
     #if __USE_ISOC99
     
     this is on by default for gnu/linux (see config/os/gnu-linux/bits/os_defines.h)
     
     You could turn off all the ISO C 9899 stuff for v3, but it's not going to be possible to just turn off these bits. (Thus, wchar_t bits and long long/long double bits go too.)
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2311&database=gcc



More information about the Gcc-prs mailing list