On Sat, Jun 12, 2010 at 05:32:05PM +0000, David Schultz wrote:
> Author: das
> Date: Sat Jun 12 17:32:05 2010
> New Revision: 209110
> URL: http://svn.freebsd.org/changeset/base/209110
> 
> Log:
>   Introduce __isnanf() as an alias for isnanf(), and make the isnan()
>   macro expand to __isnanf() instead of isnanf() for float arguments.
>   This change is needed because isnanf() isn't declared in strict POSIX
>   or C99 mode.
>   
>   Compatibility note: Apps using isnan(float) that are compiled after
>   this change won't link against an older libm.
>   
>   Reported by:        Florian Forster <o...@verplant.org>

May be, it makes sense to remove the default version for the isnan symbol ?

diff --git a/lib/msun/Symbol.map b/lib/msun/Symbol.map
index 429a76f..e39b39f 100644
--- a/lib/msun/Symbol.map
+++ b/lib/msun/Symbol.map
@@ -118,7 +118,6 @@ FBSD_1.0 {
        __isfinite;
        __isfinitef;
        __isfinitel;
-       isnanf;
        __isnanl;
        __isnormal;
        __isnormalf;
diff --git a/lib/msun/src/s_isnan.c b/lib/msun/src/s_isnan.c
index 0f544db..1fdbe96 100644
--- a/lib/msun/src/s_isnan.c
+++ b/lib/msun/src/s_isnan.c
@@ -61,4 +61,4 @@ __isnanl(long double e)
        return (u.bits.exp == 32767 && (u.bits.manl != 0 || u.bits.manh != 0));
 }
 
-__weak_reference(__isnanf, isnanf);
+__sym_compat(isnanf, __isnanf, FBSD_1.0);

Attachment: pgpgT7lqaJqlK.pgp
Description: PGP signature

Reply via email to