@@ -228,7 +228,7 @@ extern int __signbitd (double x);
* supporting multiple floating point types. Thus, they are
* now defined as macros. Implementations of the old functions
* taking double arguments still exist for compatibility purposes
- * (prototypes for them are in <ieeefp.h>). */
+ * (prototypes for them are earlier in this header). */
#if __GNUC_PREREQ (4, 4)
#define fpclassify(__x) (__builtin_fpclassify (FP_NAN, FP_INFINITE, \
@@ -4,9 +4,8 @@
*
* isinf is a <math.h> macro in the C99 standard. It was previously
* implemented as a function by newlib and is declared as such in
- * <ieeefp.h>. Newlib supplies it here as a function if the user
- * chooses to use <ieeefp.h> or needs to link older code compiled with the
- * previous <math.h> declaration.
+ * <math.h>. Newlib supplies it here as a function if the user
+ * chooses to use it instead of the C99 macro.
*/
#include "fdlibm.h"
@@ -53,7 +53,7 @@ ANSI_SYNOPSIS
int isnormal(real-floating <[x]>);
[Archaic SUSv2 functions:]
- #include <ieeefp.h>
+ #include <math.h>
int isnan(double <[arg]>);
int isinf(double <[arg]>);
int finite(double <[arg]>);
@@ -142,7 +142,7 @@ o-
and <<isinf>> are macros that operate on multiple types of
floating-point. The SUSv2 standard declares <<isnan>> as
a function taking double. Newlib has decided to declare
- them both as macros in math.h and as functions in ieeefp.h to
+ them both as functions and as macros in math.h to
maintain backward compatibility.
RETURNS
@@ -154,9 +154,11 @@ The isnan macro returns nonzero if <[x]> is an NaN, else 0.@*
The isnormal macro returns nonzero if <[x]> has a normal value, else 0.
PORTABILITY
-math.h macros are C99, POSIX.
+math.h macros are C99, POSIX.1-2001.
-ieeefp.h funtions are outdated and should be avoided.
+The functions originate from BSD; isnan was listed in the X/Open
+Portability Guide and Single Unix Specification, but was dropped when
+the macro was standardized in POSIX.1-2001.
QUICKREF
isnan - pure
@@ -179,8 +181,8 @@ QUICKREF
* The C99 standard dictates that isnan is a macro taking
* multiple floating-point types while the SUSv2 standard
* notes it is a function taking a double argument. Newlib
- * has chosen to implement it as a macro in <math.h> and
- * declare it as a function in <ieeefp.h>.
+ * has chosen to declare it both as a function and as a macro in
+ * <math.h> for compatibility.
*/
#include "fdlibm.h"
@@ -28,7 +28,7 @@ INDEX
finitef
ANSI_SYNOPSIS
- #include <ieeefp.h>
+ #include <math.h>
int isnan(double <[arg]>);
int isinf(double <[arg]>);
int finite(double <[arg]>);
@@ -37,7 +37,7 @@ ANSI_SYNOPSIS
int finitef(float <[arg]>);
TRAD_SYNOPSIS
- #include <ieeefp.h>
+ #include <math.h>
int isnan(<[arg]>)
double <[arg]>;
int isinf(<[arg]>)
@@ -77,8 +77,8 @@ DESCRIPTION
Note that by the C99 standard, <<isnan>> and <<isinf>> are macros
taking any type of floating-point and are declared in
- <<math.h>>. Newlib has chosen to declare these as macros in
- <<math.h>> and as functions in <<ieeefp.h>>.
+ <<math.h>>. Newlib has chosen to declare these both as functions
+ and as macros in <<math.h>>.
The <<isnanf>>, <<isinff>> and <<finitef>> functions perform the same
operations as their <<isnan>>, <<isinf>> and <<finite>>
@@ -3,9 +3,8 @@
*
* isinf is a <math.h> macro in the C99 standard. It was previously
* implemented as isinf and isinff functions by newlib and are still declared
- * as such in <ieeefp.h>. Newlib supplies it here as a function if the user
- * chooses to use <ieeefp.h> or needs to link older code compiled with the
- * previous <math.h> declaration.
+ * as such in <math.h>. Newlib supplies it here as a function if the user
+ * chooses to use it instead of the C99 macro.
*/
#include "fdlibm.h"
@@ -15,7 +15,7 @@
/*
* isnanf(x) returns 1 is x is nan, else 0;
*
- * isnanf is an extension declared in <ieeefp.h>.
+ * isnanf is an extension declared in <math.h>.
*/
#include "fdlibm.h"
@@ -34,7 +34,7 @@
/*
* On the SPU isinff(x) always returns 0.
*
- * isinff is an extension declared in <ieeefp.h>.
+ * isinff is an extension declared in <math.h>.
*/
int
isinff (float x)
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com> --- newlib/libc/include/math.h | 2 +- newlib/libm/common/s_isinf.c | 5 ++--- newlib/libm/common/s_isnan.c | 14 ++++++++------ newlib/libm/common/s_isnand.c | 8 ++++---- newlib/libm/common/sf_isinf.c | 5 ++--- newlib/libm/common/sf_isnan.c | 2 +- newlib/libm/machine/spu/sf_isinf.c | 2 +- 7 files changed, 19 insertions(+), 19 deletions(-) -- 2.7.4