# HG changeset patch # User Bruno Haible # Date 1241089409 -7200 # Node ID 0b09102d516e55c5e070b585f54e4679ffeed267 # Parent cc55cbaf629a2f8d991ae7a3ee6d006023fe5ce4 Fix compilation error introduced on 2009-04-25. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2009-04-30 Bruno Haible + + Fix bug introduced on 2009-04-25. + * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO, + gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros. + * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO + is defined. + * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO + is defined. + * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO + is defined. + Reported by Elbert_Pol . + 2009-04-28 Bruno Haible Comment tweaks. diff --git a/lib/math.in.h b/lib/math.in.h --- a/lib/math.in.h +++ b/lib/math.in.h @@ -519,6 +519,7 @@ extern int gl_signbitl (long double arg); # if __GNUC__ >= 2 && !__STRICT_ANSI__ # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf +# define gl_signbitf_OPTIMIZED_MACRO # define gl_signbitf(arg) \ ({ union { float _value; \ unsigned int _word[(sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \ @@ -528,6 +529,7 @@ }) # endif # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd +# define gl_signbitd_OPTIMIZED_MACRO # define gl_signbitd(arg) \ ({ union { double _value; \ unsigned int _word[(sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \ @@ -537,6 +539,7 @@ }) # endif # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl +# define gl_signbitl_OPTIMIZED_MACRO # define gl_signbitl(arg) \ ({ union { long double _value; \ unsigned int _word[(sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \ diff --git a/lib/signbitd.c b/lib/signbitd.c --- a/lib/signbitd.c +++ b/lib/signbitd.c @@ -23,6 +23,10 @@ #include "isnand-nolibm.h" #include "float+.h" +#ifdef gl_signbitd_OPTIMIZED_MACRO +# undef gl_signbitd +#endif + int gl_signbitd (double arg) { diff --git a/lib/signbitf.c b/lib/signbitf.c --- a/lib/signbitf.c +++ b/lib/signbitf.c @@ -23,6 +23,10 @@ #include "isnanf-nolibm.h" #include "float+.h" +#ifdef gl_signbitf_OPTIMIZED_MACRO +# undef gl_signbitf +#endif + int gl_signbitf (float arg) { diff --git a/lib/signbitl.c b/lib/signbitl.c --- a/lib/signbitl.c +++ b/lib/signbitl.c @@ -23,6 +23,10 @@ #include "isnanl-nolibm.h" #include "float+.h" +#ifdef gl_signbitl_OPTIMIZED_MACRO +# undef gl_signbitl +#endif + int gl_signbitl (long double arg) {